Laravel alias
Laravel gebruikt een configuratie bestand met aliases zodat je bijvoorbeeld de class Auth kan openen, maar dan wordt Laravel\Auth aangemaakt.
Ik weet dat ze dit in de autoloader afhandelen. Dit kun je ook zien op hun website: http://laravel.com/api/source-class-Laravel.Autoloader.html. Maar hoe zorg je er dan voor als Auth wordt aangeroepen, dat Laravel\Auth wordt terug gegeven?
Alvast bedankt
PS: dit is gewoon uit nieuwsgierigheid :-)
Snelle Update
Heb nog even verder gekeken en ik denk dat de autoloader dus elke keer je Auth aanmaakt aangeroepen wordt. Zou dit kunnen en is geeft dit dan geen performance lost? (Natuurlijk open je normaal geen object 20 maal opnieuw, maar wie weet?)
Gewijzigd op 08/04/2013 16:18:23 door MayDay PHP
Quote:
Maar hoe zorg je er dan voor als Auth wordt aangeroepen, dat Laravel\Auth wordt terug gegeven?
Het config bestand wordt gelezen en de aliases worden in Autoloader::$aliases geplaatst.
Quote:
Heb nog even verder gekeken en ik denk dat de autoloader dus elke keer je Auth aanmaakt aangeroepen wordt. Zou dit kunnen en is geeft dit dan geen performance lost?
Een autoloader wordt aangeroepen zodra je een klasse aanroept die niet bestaat. Een autoloader wordt dus maar 1 keer voor een alias aangeroepen, daarna zal PHP weten wat die klasse betekend.
Heb je soms al eens met Laravel gewerkt? En zo ja, wat vond jij ervan?
Gewijzigd op 08/04/2013 16:26:58 door MayDay PHP
Quote:
Heb je soms al eens met Laravel gewerkt? En zo ja, wat vond jij ervan?
Nee en waarom dat zou ik je wel kunnen vertellen:
- Het is een framework in dezelfde categorie als CodeIgniter. Leuk voor beginners, maar advanced dingen kan ie niet.
- Het maakt veel gebruik van facades en statics, totaal niet mijn smaak
- Mensen die het gebruiken zijn veel te veel pro-laravel. Alleen al bij het lezen van net.tutsplus moet ik bijna overgeven aan het 'oh wat is laravel fantasties' gehalte.
- Het maakt gebruik van Symfony Componenten, +1!!! Maar goed, waarom zou ik dan willen overstappen? ;-)
Symfony was ik ook aan het testen en dat ging heel goed net zoals Laravel. Ik zal dus nog moeten afwegen welke van de twee ik zal gebruiken. Het is tevens voor m'n eigen site. Maar jij raad dus zeker Symfony aan...
Quote:
Maar jij raad dus zeker Symfony aan...
Tuurlijk, maar goed dat is natuurlijk erg objectief (aangezien ik een teamlid ben). En als ik dan bijv. deze reactie van Kees (een enorme ZF liefhebber) lees denk ik hé, misschien is het toch niet zo objectief. En als je eens kijkt naar alle grote PHP projecten, van PHPunit tot Behat, van Drupal8 tot Silex, van Composer tot Assetic, ect. dan denk ik dat er toch iets met Sf is wat andere frameworks niet hebben...
en voor andere punten waarom ik ooit voor Sf gekozen heb: http://www.sitemasters.be/forum/2/40813/2#id258218
Ik zal voor dit project Laravel gebruiken en dan zien we wel bij het volgend project. Is het niet zo dat Symfony met de versie 2 de hele code heeft herschreven en zullen ze dit nog doen? Want anders mag je een heel project opnieuw schrijven. Dat zal ook wel bij andere frameworks gebeuren, maar ik wil er gewoon zoveel mogelijk over weten om een beslissing te kunnen maken.
Quote:
Is het niet zo dat Symfony met de versie 2 de hele code heeft herschreven en zullen ze dit nog doen?
Symfony 2 is inderdaad een rewrite van Symfony 1, precies zoals Zend Framework 2 een rewrite van Zend Framework 1 is.
Maar nu zitten we al een tijdje in de Symfony 2 versie en die is nu goed stable. Eind april komt Symfony 2.3 uit, dat is een LTS (Long Term Support). Dat betekend dat die 3 jaar ondersteund wordt. Tussendoor komen er kleine versies aan. Grote versies moeten vooral op de LTS versies gaan basseren, dan weet je zeker dat je voorlopig goed zit. 'On the edge' developers, zoals ik, zullen zich voornamelijk met de normale versies gaan vermaken (1 keer in het half jaar komt er een nieuwe subversie uit).
Vanaf Symfony 2.3 mogen er geen BC breaks meer in de API zitten. Dit betekend dat je alles moet kunnen gebruiken en dat code die op 2.3 werkt ook op 2.5 moet kunnen werken en zelfs op 2.12. Het enige wat dan nog mag veranderen is (a) de code achter de methods of (b) nieuwe features.
Laravel en ZF2 zijn momenteel nog heel jong. Het is dus erg te verwachten dat deze 2 frameworks nog veel veranderingen met zich meebrengen.
De andere frameworks houdt ik niet zo in de gaten, dus daar kan ik helaas niks zinnigs over zeggen.
Ook heb ik al een paar keer met Symfony gewerkt. (Niet het framework, maar met stukken zoals de UniversalClassLoader enzovoort).
Nogmaals bedankt voor alle informatie!
Als je trouwens nog meer wilt weten van onze release circle: http://symfony.com/doc/current/contributing/community/releases.html