php blog magyarul

Hasznos PHP osztályok és eszközök

Sok munkától menthetjük meg magunkat, ha nem kezdünk el E-mail küldő, template motor, captca, adatbázis réteg, és ehhez hasonló népszerű és gyakran használt feladatok lekezelésére saját osztály(oka)t írni. Az ehhez hasonló feladatokra születtek nyílt forráskódú megoldások, amelyek közül jónéhánynak vannak hiányosságai, de akadnak közöttük nagyon jól használható stabil változatok is. Nézzünk ezek közül néhány jelentősebbet, a teljesség igénye nélkül.

Adatbázis

Creole

A creole egy adatbázis réteg, amelyet PHP5-re írtak. A réteg a PHP beépített, adatbázistól függő natív funkcióit használja. Alkalmazás felőli oldalának kezelése, többé kevésbé a JDBC API, teljesen objektum-orientált felületének kezelésével egyezik meg, ezért, aki erről térne át, annak ismerős lehet a használata. Főbb tulajdonságia: PHP5 teljesen OO interfész kivételkezeléssel; könnyen implementálható lehetőségek: hibakeresés, lassú lekérdezésnaplózása, stb.; eredményhalmaz görgetés: következő, előző, relatív vagy abszolút poziciójú sor lekérdezése; teljes metadata kezelés; autoincrement és nextid natív támogatása.

ADOdb

ADOdb-ről előző, Adatbázis absztrakciós rétegek PHP-hez II. cikkünkben már szóltunk pár szót. Személy szerint nagyon kedvelem, a viszonylag egyszerű használata mellett kiváló teljesítményt nyújt, főleg ha C forráskódból feltelepítjük a PHP alá írt modulját is.

Doctrine

ORM funkciókat valósít meg. Gyakorlatilag az egyes adatbázis tábláknak egy-egy objektumot megfeleltetve nyújt segítséget az adatbázistáblák kezelésében. Nem kell az SQL lekérdezéseket külön-külön megírnunk, elég csak az objektumokat megfelelően kialakítani, és azok funkcióit meghívni. A többi részt a Doctrine megoldja helyettünk, tehát az új sorbeszúrást, a módosítást, törlést. Az eszköz a PHP PDO függvénykönyvtárra épül, tehát a használatához ez elengedhetetlen.

Forráskód, dokumentáció

phpDocumentor

A phpDocumentor az aktuális standard, a PHP-hez használható, automatikus dokumentáló eszközök közül. A Javadoc-hoz hasonlóan használható parancssorból és webes interfészen keresztül. Természetesen az eszköz PHP alatt használható professzionális dokumentációk készítésére, az alkalmazásunk PHP forráskódjából.

GeSHi

A GeSHi egy PHP alatt futtatható általános szintaktikai kiemelő eszköz. Segítségével rengeteg programnyelvben íródott forráskódot átalakíthatunk XHTML- és CSS-re épülő dokumentumra, amelyben szintaktikai kiemeléssel szerepel a bemenetként adott forráskód. Az ismert programnyelvek listája bőven kielégítő, és az eszköz szolgáltatásai is gazdagok: korlátlanul megváltoztathatjuk a kiemelésmódját, CSS-ből modosítható a kimenet megjelenése, automatikus sorszámozás, stb.

Biztonság

Securimage

A Securimage egy nyílt forráskódú ingyenes CAPTCHA függvénykönyvtár PHP alá. Segítségével könnyedén generálhatunk captcha képeket, amiket egyszerűen tudunk őj vagy akár meglévő űrlapbaintegráln, hogy elkerüljük a kéretlen hozzászólásokat, regisztrációkat, beküldött kérdéseket, javaslatokat. Működéséhez PHP-n és PHP alá betöltött GD függvénykönyvtáron kívül semmimás sem szükséges, ezért a legtöbb ingyenes tárhelyen is tökéletesen használható.

PHP Security Scanner

A PHP Security Scanner bármelyik könyvtárban, php fájlokban tud keresni, tipikus,vagykevésbé tipikus sebezhetőségi pontokután. Használatával kevésbé tapasztalt PHP programozók is biztonságos(abb) PHP programokat tudnak készíteni.

E-mail

Swift

A Swift egy teljesen objektum-orientált függvénykönyvtár, mely segítséget nyújt az E-mailek küldésének kezelésével, PHP weboldalakban vagy alkalmazásokban. Nem támaszkodik a PHP beépített mail() függvényére, amely nagy forgalom mellett megmutathatja erőforrás igényét. Ehelyett a Swift képes az SMTP szerverrel közvetlenül kommunikálni, elősegítve, hogy több e-mail kiküldése ne emésszen fel akkora erőforrást, mint mail() függvény használatakor. Ezen kívül rengeteg más szolgáltatással is rendelkezik, érdemes megnézni a projekt honlapját.

PHPMailer

Nemrég érkezett meg (2008 június 5.) a PHPMailer 2.1-es verziója, amely teljes mértékben PHP5-re épül. Szintén egy nagyon hasznos eszköz E-mailek küldésére, a következő kiemelkedő lehetőségekkel: redundáns SMTP kezelés, HTML levelek, csatolt fájlok, digitális aláírás kezelés, beágyazott kép kezelés. A projekt honlapja szerint, a PHPMailer, a vezető e-mail küldő osztály PHP alá.

Felhasználó kezelés

phpGACL

A phpGACL egy komplett megoldás hozzáférések kezelésre. A hozzáférések alapesetben függhetnek felhasználótól, host és ip címtől, de ezek listája bővíthető, és vonatkozhatnak, weboldalakra, adatbázisokra, stb. A jogosultság lekérdezése külön osztályban kapott helyett, amely mindössze 500 soros (kommentekkel együtt), és meglepően gyors, tehát nem kell az erőforrások miatt aggódnunk. A hozzáféréskezelés külön felületen biztosított, ami könnyen tanulható, és bőséges lehetőségeket kínál. Ha nem csak egyszerű bejelentkezésre van szükségünk, hanem (akár kevésbé bonyolult) jogosultságokat szeretnénk kezelni, mindenképp érdemes megnézni a projektet.

php user class

A php user class egy nagyon egyszerűen használható, felhasználó bejelentkezés, regisztráció, stb. kezelésére tervezett eszköz. A projekt célkitüzése, egy olyan általános osztály létrehozása, amely bármilyen esetben használható. Emiatt az elsődleges szempont a projektel kapcsolatban a rugalmasság. Gyakorlatilag majdnem minden tulajdonsága configurálható, pl.: munkafolyamatok, sütik, adatbázis táblák és azok mezői, stb.

RSS

SimplePie

Nagyon egyszerűen használható, és nagyon hatékony RSS és ATOM Feed olvasó eszköz. A projekt célkitűzései: sebesség, egyszerű használat, kompatibilitás és a szabványok követése. Említésre méltó a dokumentációja, amely egyáltalán nem szűkszavú, és a gyakran felmerülő problémák megoldásához adott példákon kívül, rengeteg további tippeket és trükköket is tartalmat.

PHP Universal Feed Generator

 A PHP Universal Feed Generator, ahogy a neve is elárulja, RSS és ATOM Feed-ek generálására szolgál. A kimenete, amely lehet RSS 1.0, RSS 2.0 és ATOM, a http://feedvalidator.org/ ellenőrzésén átmegy, tehát követi a szabványokat. Mindenképp ajánlom, ha nincs semmilyen eszközunk Feed-ek generálására.

Folytatás…

A cikket hamarosan folytatom a következő témákkal: Képkezelés, Grafikonok és diagramok, Sablon motorok, Dokumentum generálás (pdf,xls), WYSIWYG szerkesztők vagy RTE-k, Helymeghatározás IP alapján. A kettő együtt remélem hasznos segítséget fog nyújtani sok-sok php-ben fejlesztő társamnak.

10 hozzászólás, szólj hozzá Te is!

  1. Jó cikk, volt amit még nem ismertem. Várom a folytatást, köszi!

  2. A SimplePie-ért köszönet, már régóta kerestem egy ehhez hasonló osztályt.

  3. A Creole kuka, lassú, a Propel is dobja az új verziójában és átáll PDO-ra.

    Üdv,
    Felhő

  4. A Creole teljesítménye tényleg elég gyatra. Azt viszont nem tudtam, hogy a Propel át fog állni, ami teljesen érthető. PDO már PHP5-el együtt jön, és sebességben nincs kivetni való ellene.

  5. diab

    SimplePie mellett meg ott az Magpie RSS is, ha RSS feldolgozasra van szukseg itt: http://magpierss.sourceforge.net/
    Nem jobb, viszont elobb van az abc-ben :)

  6. yanchi

    Egy jó captcha osztály ráférne erre a blogra is, kicsit sok benne a spam…

  7. Felraktam a WP-SpamFree plugint. Eddig úgy tűnik teljesen jó, bár az is igaz, hogy megváltozott a szerver IP címe és most nem támadják annyira a robotok. Szóval majd pár hét után merném kijelenteni, hogy mennyire hatásos. Addig is ha valakit érdekel, itt megtalálja: http://www.hybrid6.com/webgeek/plugins/wp-spamfree

Hozzászólás írása: “Hasznos PHP osztályok és eszközök”