Laravel alias

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

MayDay PHP

MayDay PHP

08/04/2013 16:15:55
Quote Anchor link
Hallo PHP Hulp

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
 
PHP hulp

PHP hulp

29/03/2024 10:45:47
 
Wouter J

Wouter J

08/04/2013 16:24:08
Quote Anchor link
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.
 
MayDay PHP

MayDay PHP

08/04/2013 16:26:31
Quote Anchor link
Bedankt Wouter voor de snelle reactie. Ik vond het een mooie manier en wou het daarom eens weten!

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
 
YzRz -

yzRz -

08/04/2013 16:31:19
 
Wouter J

Wouter J

08/04/2013 16:31:19
Quote Anchor link
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? ;-)
 
MayDay PHP

MayDay PHP

08/04/2013 16:35:20
Quote Anchor link
Ohh oké. Bedankt yzRz en Wouter. Ik ben momenteel veel verschillende frameworks aan het testen en Kohana, Yii en CodeIgniter vind ik niets.

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...
 
Wouter J

Wouter J

08/04/2013 16:56:27
Quote Anchor link
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
 
MayDay PHP

MayDay PHP

08/04/2013 17:08:21
Quote Anchor link
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.
 
Wouter J

Wouter J

08/04/2013 17:14:50
Quote Anchor link
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.
 
MayDay PHP

MayDay PHP

08/04/2013 17:23:43
Quote Anchor link
Het volgende project wordt dus Symfony2. Want ik zit momenteel te ver in dit project om nog over te schakelen naar Symfony2. Als er toch long-term support is kan mij dat wel aantrekken. Want 3 jaar is toch heel erg lang.

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!
 
Wouter J

Wouter J

08/04/2013 17:25:07
Quote Anchor link
Niks te danken, je kan me altijd een mailtje sturen (of een topic posten) voor meer info.

Als je trouwens nog meer wilt weten van onze release circle: http://symfony.com/doc/current/contributing/community/releases.html
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.