ÖØÐÂÉóÊÓ PHP ¿ò¼Ü CodeIgniter VS Zend
×÷ÕߣºEkerete
·Ò룺Emeric Li (http://lee.kometo.com/index.php/archives/117
)
ÔÎÄ£ºhttp://www.avnetlabs.com/php/php ... r-vs-zend-framework
ÎÒÃǼƻ®´ÓÍ·¿ªÊ¼Ò»¸öÐÂÏîÄ¿£¬Îª´ËÆÀ¹ÀÁËһЩPHP¿ò¼Ü¡£ÎÒÃǵı¸Ñ¡ÁбíÓÐCakePHP £¬ CodeIgniter £¬ SymfonyºÍZend ¡£ ÎÒÃÇ·Ö±ðʹÓÃÕâ4ÖÖ¿ò¼Ü±àдÁËÒ»¸öÏàͬµÄСӦÓã¨Ò»¸ö¼òµ¥µÄWikiÓ¦Óã©£¬Ï£ÍûÎÒÃÇÄܾ¡¿ìÑ¡¶¨Ò»¸ö×îºÏÊʵġ£
ÉùÃ÷£ºÎÒ»áŬÁ¦È·±£×Ô¼ºµÄ¿Í¹ÛÐÔ£¬ËäÈ»ÎÒÊÇÒ»¸öColdeIginterµÄ°®ºÃÕß¡£ÎÒËù¹¤×÷µÄ¹«Ë¾ÊÇZendµÄºÏ»ïÈË£¨ÎÒÃÇÒѾʹÓÃÁËZend Platform ºÍ Zend Studio£©¡£I can’t help factoring that in¡£
¾¡¹ÜÒ»¿ªÊ¼µÄ¼Æ»®ÊÇÆÀ¹À4¸ö¿ò¼Ü£¬µ«ÊÇÕâƪÎÄÕÂʵ¼ÊÊÇCodeIgniterºÍZend FrameworkµÄÖ±½Ó±È½Ï¡£ÔÚ»¨·ÑÁ˼¸¸öСʱÑо¿ÁËÕâ4¸ö¿ò¼Üºó£¬ÎÒ²»µÃ²»°ÑSymfonyºÍCakePHP´ÓÃûµ¥ÖÐÅųý¡£ÀíÓÉÈçÏ£º
Learning curve ѧϰÇúÏß
Symfony ºÍ
CakePHP¶¼ÓÐÒ»¸ö·Ç³£¶¸Ç͵ÄѧϰÇúÏß¡£CakePHPÓÐÑϸñµÄ¹æÔò£ºÊý¾Ý±íÃ÷´Ë¡¢ÎļþλÖᢷ½·¨ÃûºÍÀàÃû¡£SymfonyʹÓà .yml
¸ñʽ£¨ÐèҪѧϰ£¬ËäÈ»Ëü²»ÊÇÕæµÄºÜÄÑ£©À´´æ´¢ÅäÖÃÐÅÏ¢£¬²¢ÇÒ´óÁ¿µÄ²Ù×÷ÐèҪͨ¹ý¿ØÖÆ̨(console)Íê³É£¬´´½¨Êý¾Ý±í¡¢Êý¾ÝÄ£ÐͺͺܶàÆäËüÎļþ¶¼ÐèÒª
ʹÓÃÃüÁîÐС£
Strict ORM: ÑϸñµÄORM
Symfony ºÍ CakePHP¶¼ÓÐÒ»¸ö³ÉÊìµÄ¶ÔÏó¹ØϵӳÉäÆ÷(object-relational mappers | ORM)
£¬Ìṩ¶ÔÊý¾ÝµÄ·ÃÎÊ£¬µ«ÊÇÕâÒ»ÌØÐÔºÜÄѱ»½ûÓ㬳ý·Ç×÷³ö´óÁ¿µÄŬÁ¦¡£ÕâЩORMÓÐ×ÅÑϸñµÄ¹æÔòºÍÔ¼¶¨£¬ËüÃDZØÐë±»×ñÑ¡£ÓëÖ®Ïà·´£¬Zend
Framework ºÍ CodeIgniter
ÔÚÊÇ·ñʹÓÃModelsºÍÈçºÎʹÓÃModelsÉϷdz£Áé»îµÄ¡£Ê¹ÓÃModelsÊÇ¿ÉÑ¡µÄ£¬ËäÈ»ËüÃǶ¼ÓÐÊý¾ÝÓ³ÉäÆ÷£¨data
mappers£©£¬µ«Ã»ÓÐÕâЩӦÓÃÒ»Ñù¿ÉÒÔ½øÐУ¨¿ª·¢±àд£©¡£Ó¦ÓõÄÊý¾Ý²Ù×÷½«ÊǼ«ÆäÃܼ¯ºÍ¾«Ï¸£¨intensive £©µÄ£¬ÎÒÃDz»Ô¸ÒâÊܵ½Ñ¡ÔñµÄÏÞÖÆ¡£
Flexibility: Áé»îÐÔ
Zend FrameworkºÍCodeIgniter±ÈÆäËûÁ½¸ö¿ò¼Ü¸üÁé»î¡£
×îÖÕ¶Ô±È
CodeIgniter
Zend Framework
Set Up ³õʼ½¨Á¢
CodeIgniterºÜÈÝÒ׳õʼ»¯¡£ ¸´ÖÆ¿ò¼ÜµÄËùÓÐÎļþµ½ÍøÂç·þÎñÆ÷£¬ÕâÊÇÒ»¸ö²»´íµÄ¿ªÊ¼¡£ ËüµÄÎļþ¼ÐÒ²ºÜС-´óÔ¼2 .1Õס£´Ó¿ªÊ¼½¨Á¢£¬5·ÖÖÓºó£¬ÎҾͿÉÒÔÏÔʾ³öĬÈÏÖ÷Ò³¡£
Zend FrameworkÐèÒªÂ鷳һЩ£¬ËüÐèÒª´´½¨Ò»¸öbootstrapÎļþ£¬ÌîдËùÓеijõʼ»¯ÉèÖᣱȽÏ֮ϣ¬¿ò¼ÜÓеã´ó-´óÔ¼12.4MB¡£Õû¸ö³õʼ½¨Á¢¹ý³ÌÓÃÀ´´óÔ¼19·ÖÖÓ¡£
Îĵµ
ÎĵµµÄ½á¹¹ºÍ×éÖ¯Ï൱ºÃ£¬µ«ÊDz»ÈçZend FrameworkÏêϸ¡£CodeIgniterÓÐÂÛ̳ºÍW
Ïà¹ØÎĵµ£º
php½Ì³Ì:·ÃÎÊPHPÀàÖгÉÔ±±äÁ¿»ò·½·¨
ÔÚ·ÃÎÊPHPÀàÖеijÉÔ±±äÁ¿»ò·½·¨Ê±£¬Èç¹û±»ÒýÓõıäÁ¿»òÕß·½·¨±»ÉùÃ÷³Éconst»òÕßstatic,ÄÇô¾Í±ØÐëʹÓòÙ×÷·û::,
·´Ö®Èç¹û±»ÒýÓõıäÁ¿»òÕß·½·¨Ã»Óб»ÉùÃ÷³Éconst»òÕßstatic,ÄÇô¾Í±ØÐëʹÓòÙ×÷·û->¡£
ÁíÍ⣬Èç¹û´ÓÀàµÄÄÚ²¿·ÃÎÊconst»òÕßstatic±äÁ¿»òÕß·½·¨,ÄÇô¾Í±ØÐëʹÓÃ×ÔÒýÓõ ......
ÏÖÔÚÖ÷Á÷µÄÍøÕ¾¿ª·¢ÓïÑÔÎÞÍâºõasp¡¢php¡¢asp.net¡¢jspµÈ¡£
ÍøÒ³´Ó¿ªÊ¼¼òµ¥µÄhmtlµ½¸´ÔӵķþÎñÓïÑÔ£¬×ß¹ýÁË10¶à¸öÄêÍ·£¬¸÷ÖÖ¼¼Êõ²ã³ö²»Çµ¥¸öµÄÖ÷Á÷¼¼ÊõÒ²ÔÚ²»¶Ï·Ðµİ汾£¬ÏÖÔÚ·ÖÎöϸ÷ÖÖÓïÑÔµÄÇø±ð¡¢ÓÅÊÆ¡¢ÁÓÊÆ¡¢¿ª·¢×¢ÒâÊÂÏ
HTML:µ±È»ÕâÊÇÍøÒ³×î»ù±¾µÄÓïÑÔ,ÿһ¸ö·þÎñÆ÷ÓïÑÔ¶¼ÐèÒªËüµÄÖ§³Ö,Ҫѧϰ,Õâ¸ö¿Ï¶¨ÊÇ¿ª ......
»ù´¡Ìâ:
1.±íµ¥ÖÐ getÓëpostÌá½»·½·¨µÄÇø±ð?
´ð:getÊÇ·¢ËÍÇëÇóHTTPÐÒéͨ¹ýurl²ÎÊý´«µÝ½øÐнÓÊÕ,¶øpostÊÇʵÌåÊý¾Ý,¿ÉÒÔͨ¹ý±íµ¥Ìá½»´óÁ¿ÐÅÏ¢.
2.sessionÓëcookieµÄÇø±ð?
´ð:session:´¢´æÓû§·ÃÎʵÄÈ«¾ÖΨһ±äÁ¿,´æ´¢ÔÚ·þÎñÆ÷ÉϵÄphpÖ¸¶¨µÄĿ¼Öеģ¨session_dir£©µÄλÖýøÐеĴæ·Å
cookie:ÓÃÀ´´æ´¢Á¬Ðø ......
PHPµ÷ÊÔ»·¾³·Ç³£Âé·³,¶øÇÒÖÖÀàÆä¶à.ÍøÉϵÄÏà¹ØÎÄÕÂÌ«¶àÁË,µ«ÓÉÓÚʱЧµÄÎÊÌâ,²¢²»ÄÜÓÃ.
½ñÌìÕÒµ½Ò»ÆªÎÄÕÂ,ÓÚ2009Äê12ÔÂ17ÈÕ²âÊÔ¿ÉÓÃ.µ«Ê¹ÓÃPDT֮ǰ,Ðè×°JDK,¿Éµ½http://www.skycn.com/soft/3116.htmlÏÂÔØ
ÎÄÕµØÖ·:http://blog.csdn.net/yuhui_fish/archive/2009/03/29/4033397.aspx
ÄÚÈÝÈçÏÂ:
×î½üÔÚÓÃphp£¬ÅäÖúÜÂé·³£ ......
<?php
//н¨Ä¿Â¼
mkdir("/path/to/my/dir", 0700); //0700±íʾȨÏÞ×î´ó
//ɾ³ýĿ¼
rmdir("/path/to/my/dir");
//±éÀúĿ¼
$p =dir(/etc/php5);
echo "handler:".$p->handler;
while(false!=$entry=$p->read()){
echo $entry."\n" ;
}
$p->close();
//Êä³öÎļþÄÚÈÝ
$handle=@ ......