...
Ankündigung
Einklappen
Keine Ankündigung bisher.
PHP HMVC Framework
Einklappen
Neue Werbung 2019
Einklappen
X
-
Gast
Ich habe es mal etwas überflogen und tatsächlich ist das besser als ein Haufen Zeug, was ich bisher gesehen habe. Aber:
* Apache und Nginx Unterstützung.
Ein paar Details fallen direkt auf:
Bsp.: https://github.com/ClanCats/Framewor...pp.php#L32-L56 Weder gibt es in PHP void, noch gibt die Methode überhaupt irgend etwas zurück.
Hast Du mal geschaut, was "wake" auf Deutsch heißt?
https://github.com/ClanCats/Core/blo...rc/coremap.php -> Warum stellst Du dann nicht lieber via Composer eine Classmap her?
https://github.com/ClanCats/Core/blo.../shortcuts.php -> Der erste Schritt zur Unübersichtlichkeit.
Über das ganze Framework hinweg sind extrem viele statische Aufrufe verteilt -> Sackgassengefahr.
https://github.com/ClanCats/Core/blo...1400000000.sql -> Was hat das im Code verloren?
Warum gibt es "bundles" aber auch "classes"?
-
void ist ein null-alias, kann weg gelassen werden wenn void der einzige return wert ist. Daran ist nichts auszusetzen.[URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].
Kommentar
-
Zitat von xm22 Beitrag anzeigenWas ist damit gemeint?
Zitat von xm22 Beitrag anzeigenhttps://github.com/ClanCats/Framewor...pp.php#L32-L56 Weder gibt es in PHP void, noch gibt die Methode überhaupt irgend etwas zurück.
Zitat von xm22 Beitrag anzeigenHast Du mal geschaut, was "wake" auf Deutsch heißt?
Zitat von xm22 Beitrag anzeigenhttps://github.com/ClanCats/Core/blo...rc/coremap.php -> Warum stellst Du dann nicht lieber via Composer eine Classmap her?
Das Kern Konstrukt baut auf den sogenannten bundles auf. Diese beinhalten mehre typen von Dateien. Meist php aber nicht immer. Da ich diese Dateien / Ressourcen von überall beziehen könne möchte benötigte ich einen eigenen speziellen Autoloader der CCFinder.
Als Beispiel eine view kann sich nicht nur unter app/views/ befinden sondern auch an diversen anderen orten ausserdem befindet sich eine view auch nicht im PHP namespace.
zb. 2 Bundles:
Code:[Blog] - /classes/ - Entry.php - /views/ - entry.php [Author] - /classes/ - Author.php - /views/ - author.php
PHP-Code:$view = CCView::create('Blog::enrty');
$author = new Author\\Author;
Zitat von xm22 Beitrag anzeigenhttps://github.com/ClanCats/Core/blo.../shortcuts.php -> Der erste Schritt zur Unübersichtlichkeit.
Zitat von xm22 Beitrag anzeigenÜber das ganze Framework hinweg sind extrem viele statische Aufrufe verteilt -> Sackgassengefahr.
Zitat von xm22 Beitrag anzeigenhttps://github.com/ClanCats/Core/blo...1400000000.sql -> Was hat das im Code verloren?
Zitat von xm22 Beitrag anzeigenWarum gibt es "bundles" aber auch "classes"?
---
Auf jedenfall Vielen Dank für dein Feedback, ich nehme jeden Input zu herzen und lasse ihn meisst auch gleich auf meine ToDo liste wandern.
Kommentar
-
Zum Thema shortcuts: Besser 8-12 Zeichen die nahezu erklären was man da aufruft als verstümmelte nichtssagende shortcuts die ich auswendig kennen muss um sie zu verstehen.
In Summe bisher: Das static-Konzept stößt auf.[URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].
Kommentar
-
Zitat von mario Beitrag anzeigen[...]
Um ganz offen zu sein ich bin auch kein Fan von dieser Lösung aber shortcuts sind Notwendig, wenn ich bei jeder Übersetzung `CCStr::line()` schreiben müsste würde ich mir die Haare vom Kopf reissen.
[...][URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]
Kommentar
-
Zum Thema shortcuts: Besser 8-12 Zeichen die nahezu erklären was man da aufruft als verstümmelte nichtssagende shortcuts die ich auswendig kennen muss um sie zu verstehen.
PHP's interne gettext funktion implementiert den alias `_()` um diesen nicht auf die Füße zu treten ist der Alias bei CCF `__()` also mit zwei underscores. Ich habe diesen Alias nicht erfunden er wird von diversen anderen Open Source Applikationen ebenso implementiert. Ich gebe zu beim ersten Blick auf ein Projekt werden diese ominösen __ calls eine verwirrende Wirkung haben, aber wenn man deren Bedeutung kennt ist dieser shortcut meiner Meinung nach übersichtlicher als ausgeschrieben.
Beispiel ohne shortcut:
PHP-Code:<div id="main-container">
<h1>{{CCLang::line(':action.title')}}</h1>
<div class="items">
{% each $items as $item %}
<div class="item">
<h2>
<a href="{{CCUrl::to($item->url())}}">#</a>
{{CCLang::line('item.title.label') . CCStr::htmlentities( $item->title )}}
</h2>
<small>{{CCLang::line('item.content.label')}}</small>
<div>
{{CCStr::htmlentities( $item->content )}}
</div>
</div>
{% endeach %}
</div>
</div>
PHP-Code:<div id="main-container">
<h1>{{__(':action.title')}}</h1>
<div class="items">
{% each $items as $item %}
<div class="item">
<h2>
<a href="{{to($item->url())}}">#</a>
{{__('item.title.label') . _e( $item->title )}}
</h2>
<small>{{__('item.content.label')}}</small>
<div>
{{_e( $item->content )}}
</div>
</div>
{% endeach %}
</div>
</div>
Und shortcuts wie `_d`, `_dd`, `ui` usw. wird man im Code selber niemals antreffen da diese lediglich für Debug zwecke benötigt werden.
In Summe bisher: Das static-Konzept stößt auf.
Hier übrigens ein Interessanter Link warum:
http://misko.hevery.com/2008/12/15/s...o-testability/
Und weiter gehts.
So eine Lösung und so eine Präsentation ist nach 4 Jahren "Lernfortschritt" wirklich kindisch.
Welchen Mehrwert bietet dieses Framework?
Was kann diese Lösung besser als das, was es bereits gibt?
Kommentar
-
Nein, du hast das Rad nur zum x-ten mal neu erfunden. Du damit stellst hier also das Framework der Woche vor. Daher finde ich die Frage berechtigt: Was kann es denn besonderes?
Und nein, statische Methoden behindern nicht nur die testability. Wenn das dein Lernstand ist, dann hast du gerade mit OOD begonnen.
Nichts für ungut...
Kommentar
-
static-Implementierung knebeln die Klasse in einen Singleton zustand und sind somit schon aus Wiederverwertbarkeitssicht ein Problem. Ander Frameworks ( laravel ) haben da auch ganz schnell die Finger von gelassen und arbeiten nur noch mit static Facades, die wiederum auf Container Entities zeigen.[URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].
Kommentar
-
Zitat von rkr Beitrag anzeigenNein, du hast das Rad nur zum x-ten mal neu erfunden. Du damit stellst hier also das Framework der Woche vor. Daher finde ich die Frage berechtigt: Was kann es denn besonderes?
Und nein, statische Methoden behindern nicht nur die testability. Wenn das dein Lernstand ist, dann hast du gerade mit OOD begonnen.
Nichts für ungut...
Nichts für ungut aber mein winziges Hirn will einfach nicht einsehen wie mein "Lernstand" oder mein "Intellekt" je nach interpretation bei dir zum Thema wird.
Es kann doch wirklich nicht so schwer seine Kritik Konstruktiv zu Formulieren und Objektiv zu bleiben. Wenn sich alle an diese einfache Regel halten würden hätten viel weniger Leute angst Ihre Arbeit im Internet zu präsentieren. Ebenso würde das Selbstbewusstsein vieler Junger Menschen zu Abwechslung mal gestärkt. Es gibt viele, sehr viele Menschen dort draussen die etwas erschaffen wollen, diese in Ihren Anfängen zu Unterstützen sollte das Ziel sein, sie zu demoralisieren hält die Entwicklung nur zurück.
Nun zurück zum Thema:
static-Implementierung knebeln die Klasse in einen Singleton zustand und sind somit schon aus Wiederverwertbarkeitssicht ein Problem. Ander Frameworks ( laravel ) haben da auch ganz schnell die Finger von gelassen und arbeiten nur noch mit static Facades, die wiederum auf Container Entities zeigen.
Kommentar
-
Also wenn Du schon im gehobenen SD Forum hier nach Kritik fragst und selbst Deine Lößung kritisch siehst, dann frage ich mich, was an der Antwort von rkr jetzt so schlimm oder unkonstruktiv war.
Wenn sich alle an diese einfache Regel halten würden hätten viel weniger Leute angst Ihre Arbeit im Internet zu präsentieren. Ebenso würde das Selbstbewusstsein vieler Junger Menschen zu Abwechslung mal gestärkt.[COLOR="#F5F5FF"]--[/COLOR]
[COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
„Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
[URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
[COLOR="#F5F5FF"]
--[/COLOR]
Kommentar
-
Und es gibt nochmal soviele Menschen die anders Denken wie du und sich nicht immer deinem Gemütszustand passend ausdrücken, shit happens. Darüber jetzt ein Fass aufzumachen ist so Sinnvoll wie Mikroben stricken beizubringen.[URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].
Kommentar
-
Zitat von mario Beitrag anzeigenEs kann doch wirklich nicht so schwer seine Kritik Konstruktiv zu Formulieren und Objektiv zu bleiben. Wenn sich alle an diese einfache Regel halten würden hätten viel weniger Leute angst Ihre Arbeit im Internet zu präsentieren. Ebenso würde das Selbstbewusstsein vieler Junger Menschen zu Abwechslung mal gestärkt. Es gibt viele, sehr viele Menschen dort draussen die etwas erschaffen wollen, diese in Ihren Anfängen zu Unterstützen sollte das Ziel sein, sie zu demoralisieren hält die Entwicklung nur zurück.
Die Menschen da draußen, die sich auf machen etwas Großes zu schaffen, bekommen meinen Respekt als Vorschuss. Die einzige Bedingung ist, dass es in irgendeiner Form besonders ist.
Ich habe wirklich besseres zu tun, als alle MVC-Frameworks die es da draußen so gibt zu rezensieren. Wenn du jetzt gedacht hast, dass du mit dieser Leistung in den Kreis der bewundernswerten MVC-Authoren kommst... Vielleicht. Das entscheide ich nicht. Aber ich bezweifle zumindest, dass du es damit auf awesome-php schaffst.
Kommentar
-
Da stimme ich euch dreien zu. Ich wollte rkr jetzt auch nicht als den bösen Anprangern und entschuldige mich dafür.
Nun ich suche nach Inputs und Kritik bezüglich des Frameworks und nicht meiner eigenen Person. Ich bin schliesslich hier um zu erfahren was nicht gut ist, damit ich das Framework und somit auch meinen Lernstand verbessern kann
Ich wollte euch keines wegs DAS framework des Jahrhunderts verkaufen, es ist ein Projekt unter Tausenden, das ist mir sehr wohl bewusst und um etwas wirklich grosses zu erschaffen muss ich noch sehr viel Lernen aber dafür bin ich ja Hier.
Kommentar
Kommentar