Symfony2 könytárszerkezet kötöttsége saját kódnál
2014-05-14T14:16:01+02:00
2014-05-14T14:44:05+02:00
2022-07-19T03:26:03+02:00
SzAtty
Sziasztok!

A PHP már csak a folyamatos fejlődésévet tud ujjat mutatni, de megpróbálok ebben is mindig naprakésznek lenni. Jelenleg is nagy hangsúlyt fektetek a Clean Code szabályait betartó kódolásra, amit szerencsére a munkahelyem is fontosnak tart.

Most viszont kicsit megtorpantam. Most ismerkedek a symfony2-vel. Addig nem szeretnék fejleszteni ebben a framework-ben amíg logikailag a felépítését és működését ne ismerem ki. Szerencsére a dokumentáltsága jó, de vannak fekete foltok amit ezekben nem találtam meg.

Annyi feltűnt , hogy az autoload miatt a könyvtárszerkezet és a fájlok helyei még az /src könyvtáron belül is kötöttek. A dokumentáció szépen leírja hogy hozz létre bundle-t és a hozzá tartozó controller-t illetve view-t, de ebből nem derül ki számomra, hogy miként találja meg a rendszer azokat az osztályokat amiket nem az app/console-on keresztül veszek fel. Vagy rosszul látom, minden egyes osztályt ezen keresztül kell felvenni? Így biztos beregisztrálódik a szükséges helyekre és az autoload megtalálja. 

Nem akarok kisregényt írni, ha valami nem kerek a problémámból akkor szívesen kifejtem egy kérdésre adott válaszként.

Köszi!
SzAtty
Mutasd a teljes hozzászólást!

  • Nem ismerem a Symfony2-t, de általában az ilyen autoloaderes dolgok a php-s autoload-erre épülnek - a regisztrált autoloader megkapja paraméterben az osztálynevét majd abból generálja az útvonalat.
    Mutasd a teljes hozzászólást!
  • A symfony namespace-t használ, vagyis az autoload megkapja a példányosítani kívánt osztály nevét namespace-el együtt vagy anélkül, attól függően, hogy miként adtuk meg a use-ben. De, és itt a probléma, hogy az osztály teljes elérési útját nem kapja meg az autoload. Erre van minden egyes framework-ben logika amit kötött útvonalak segítenek és névkonvenció alapján "találja ki" az autoload, vagy az egyes osztályok a teljes elérésükkel be vannak regisztrálva (egy tömbe pl) ahonnan megtudható a helye. Erre irányult a kérdés, vagyis hogy nekem kell beregisztrálnom az osztályomat, vagy oda kell tennem és úgy kell elneveznem hogy a keretrendszer megtalálja?
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd