Autor Zpráva
WanTo
Profil
Uvažuji, že pro svou aplikaci využiji některý z existujících PHP frameworků. Bohužel žádný neznám, což mi výběr příliš neusnadňuje :-)

Mám několik základních požadavků:
- rychlý a nenáročný na paměť
- bezpečný
- rozšiřitelný
- svobodný (licence GPL nebo podobná)
- MVC
- šablonovací systém
- hodila by se nějaká příjemná práce s formuláři

Pokud jsem na něco zapomněl (určitě jo :-) ), tak to sem doplním. Zatím díky za všechny rady :-)
Jakub
Profil
Na to jsem se ptal skoro před rokem, ale kloudnou odpověď jsem nedostal. Všichni už dlouho čekají na Nette, Ronnie poslední dobou básní o Zend frameworku. PEAR je docela fajn (ale používám jenom CacheLite).
Zatím mi všechny přišly moc robustní. Ale třeba najdeš něco malého a šikovného...
WanTo
Profil
Ale třeba najdeš něco malého a šikovného...
Spíš si nakonec něco malého a šikovného vyrobím sám :-)
RiZe
Profil
Pokud potřebuješ něco na míru, stejně to tak asi dopadne. Když někdo píše framework, dělá to, dle mého názoru, pro své potřeby, a tak taky framework vypadá. To že ho vydá široké veřejnosti je už věc jiná. Jinak řeším momentálně tu samou otázku, a vypadá to, že si taky budu muset napsat svůj :(. K volbě asi moc neporadím, frameworky co znám jsou jen samé obludy, jejichž velikost se pohybuje v řádech MB, což rozhodně nesplňuje tvá kritéria.
bilbord
Profil *
jj, od kazdeho neco, a postupne dat dohromady neco, co skutecne vyuzijes
ronnie
Profil
WanTo:

Perfektní framework je Symfony, je opravdu promakaný.
O Zend Framework by šlo opravdu psát básně:) Ale zatím je to verze 0.7 a neexistuje mnoho tutoriálů, osobně neznám ani jeden kvalitní. ZF je ale hudba budoucnosti. Měl by být všeobecným standardem a mluví se i o tom, že by měl být distribuován přímo s PHP. Měl by mít všechny Tvé požadavky. Šablonovací systém v neobsahuje, ale manuál obsahuje popis integrace se Smarty, která je velmi jednoduchá.
WanTo
Profil
Nakonec jsem se rozhodl, že si napíšu vlastní jednoduchý framework přímo na míru. Až na ten šablonovací systém umí všechno, co jsem požadoval. A toto rozhodnutí považuji za dobrou volbu - zatímco jinak bych se právě učil pracovat se zvoleným frameworkem, teďka už vyvíjím aplikaci.
arcadosi
Profil
co je to framework ?:)
llook
Profil
Zkoušel jsem Symfony, vývoj probíhal tak, že jsem bleskurychle začal (nadefinoval jsem schéma databáze a scaffoldoval), ale dál to bylo utrpení. Symfony je příšerně předesignovaný. Zajímavý je, že Yahoo to v jednom projektu používá.

Teď zkouším Zend Framework pro "controller" + "view" a Propel pro "model". Můžu říct, že jsem asi tak stokrát spokojenější. Tutoriálů k ZF je několik, mě nejvíc sedl do noty tenhle: http://www.akrabat.com/zend-framework-tutorial/

Tenhle princip odkoukaný z RoR mi ale pomalu taky začíná lézt krkem, porozhlídnu se asi po něčem více komponentově orientovaném. To je třeba PRADO, ale zrovna to se mi vůbec nelíbí.
finc
Profil
to arcadosi: Zajímavé je, že i když to může znít ironicky, spoustu lidí neví o co se jedná, aniž by to přiznali :)
Jednou věcí jsou vlastní knihovny, který člověk využívá, druhou věcí vlastní metodiky a pokud tyto dvě věci spojím dohromady, dostanu framework, nebo-li soubor knihoven a přesnou metodiku, v jaké struktuře vyvíjet.
Za frameworky se dá považovat: v PHP: Zend Framework, Symfony, atd. v Javě je situace šťavnatější: Spring, JSF, Struts, atd. v C# je to např. .NET atd....

Jinak co se týče frameworků v PHP, tak osobně bych řekl, že situace je naprosto žalostná. Nejde o to, že by nic neexistovalo, ale o to, že žádné řešení není natolik rozsáhlé a rozpínající se, aby se vyplatilo do něj investovat čas a usílí. Radši bych na to zapoměl a vytvořil si něco vlastního, protože jinak si nasekám spíše spoustu malérů. A pokud chci PHP na něco většího, tak bych už přemýšlel v jiné rovině než je skriptovací jazyk.
WanTo
Profil
llook
Jak jsou na tom tebou zmiňované frameworky s rychlostí? Koukal jsem se na dokumentaci k PRADO Frameworku a připadalo mi, že s tolika třídami musí být výsledná aplikace šíleně pomalá. Nebo snad existuje nějaký nástroj, který v PHP učiní třídy perzistentními (tj. nebudou se při každém volání skriptu znovu parsovat a načítat do paměti)?
finc
Profil
to: llook
docela by me zajímalo jak jsi spokojený s Propelem, ono už samotné rozjetí Propelu není legrace a chce to určitou zkušennost a znalost. Jinak pokukoval jsem po něm, ale nějak mi to stejně nesedlo, protože mi nepřišlo, že by to bylo čisté ORM, které by bylo použitelné za náhradu relační databáze. Navíc transfer objects tam také nejsou zrovna šťasně řešeny. Navíc ta závislost na knihovnách z PEARu :(
llook
Profil
WanTo
Zatím mi rychlost subjektivně přišla zanedbatelná (požadavky se vyřídily takřka okamžitě), takže jsem to zatím ani nijak neměřil. PHP má strašně rychlý parser, že by úzké hrdlo PHP aplikace bylo v deklaraci velkého počtu tříd, to jsem ještě nezažil.
A kdyby, pro PHP jsou různé nástroje pro kešování bytekódu, jeden je dokonce zdarma, viz http://php.vrana.cz/skryti-zdrojoveho-kodu.php .

finc
Na Propelu mi toho vadí dost, nejvíc asi nutnost předgenerování tříd. Ale nic co by bylo pro mě lepší jsem nenašel. Když překousnu těch pár zbytečných složitostí, tak samotné používání těch vygenerovaných tříd je na většinu úkonů docela pohodlný, na těch pár ostatních úkonů použiju SQL.

Kromě Propelu stojí podle mě za pozornost ještě Doctrine ( http://sourceforge.net/projects/phpdoctrine/ ) a EZPDO ( http://www.ezpdo.net/blog/cats/ezpdo ), ale ty mi nějak nesedly.

Jednu dobu jsem si psal svoje vlastní ORM, ale nechal jsem toho, když jsem to omylem celý smazal.
Toto téma je uzamčeno. Odpověď nelze zaslat.