Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ :

ѧϰphp Reflection£¨Ò»£©

¿´yii¿ò¼ÜÔ´ÂëµÄʱºò£¬·¢ÏÖÁË
ReflectionClassÕâ¸ö·½·¨£¬²Å·¢ÏÖÔ­À´ÊÇphp5µÄж«Î÷£¬ÓÚÊÇÉÔ΢Ñо¿ÁËÏ¡£phpµÄ·´ÉäapiÒ»¹²ÓУº
class 
Reflection 
{ }
interface Reflector 
{ }
class 
ReflectionException 
extends 
Exception 
{ }
class 
ReflectionFunction implements Reflector 
{ }
class 
ReflectionParameter implements Reflector 
{ }
class 
ReflectionMethod 
extends 
ReflectionFunction 
{ }
class 
ReflectionClass implements Reflector 
{ }
class 
ReflectionObject 
extends 
ReflectionClass 
{ }
class 
ReflectionProperty implements Reflector 
{ }
class 
ReflectionExtension implements Reflector 
{ }
Reflection ÊÇ×î»ù´¡µÄ·´ÉäÀ࣬±ÈÈç
<?php
    Reflection::export
(new
ReflectionFunction
('array_walk'
));
   ......

ѧϰphp Reflection£¨¶þ£©

(4)Ó³ÉäÀà(ReflectionClass)
ReflectionClassÀàÔÊÐíÄã·´ÏòÓ³ÉäÀà¡£
<?
php
interface MySerializable  
{    
// ...}
class My
Object
 
{    
// ...}
/** A counter class */
class 
Counter 
extends
MyObject implements MySerializable 
{   const 
START 

0
;
    
private 
static 
$c 

Counter
::
START
;
    
/**Invoke counter
     * @access  public
     * @return  int */
    
public 
function 
count
() {  return 
self
::
$c
++;  }
}
// Create an instance of the ReflectionClass class
$class 
= new 
ReflectionClass
(
'Counter'
);
// Print ou ......

php ³ÌÐòµÄ¹ú¼Ê»¯gettext

²½ÖèÒ»£º´î½¨»·¾³
1£¬Ê×ÏȲ鿴ÄãµÄphpÀ©Õ¹Ä¿Â¼ÏÂÊÇ·ñÓÐphp_gettext.dllÕâ¸ö
Îļþ£¬Èç¹ûûÓУ¬Õâ¾ÍÐèÒªÄã
ÏÂÔØÒ»¸ö»òÊÇ´ÓÆäËûµØ·½¿½±´Ò»¸ö£¬È»ºó·Åµ½phpÀ©Õ¹Ä¿Â¼¡£
2£¬´ò¿ªphp.ini£¬²é
ÕÒ”;extension=php_gettext.dll“ £¬È»ºóÈ¥³ý×¢ÊÍ£¬ÖØÆôapache¡£
²½Öè¶þ:Ô­Àí½²½â
¼ÙÈçÄãµÄû
Óйú¼Ê»¯µÄ³ÌÐòÀïÓÐÕâÑùµÄ´úÂ룬echo "ÄãºÃ";,¶ø¹ú¼Ê»¯µÄ³ÌÐòÄãҪд³É
echo
gettext("ÄãºÃ");£¬È»ºóÔÙÔÚÅäÖÃÎļþÀïÌí¼Ó“ÄãºÃ”Ïà¶ÔÓ¦µÄÓ¢ÎÄ“Hi”¡£
Õâʱ£¬ÖйúµØÇøä¯ÀÀ¶¼»áÔÚÆÁÄ»ÉÏÊä³ö
“ÄãºÃ”£¬¶øÃÀ¹úµØÇøä¯ÀÀ¶¼»áÔÚÆÁÄ»ÉÏÊä³ö
“Hi”¡£Ò²¾ÍÊÇ˵£¬×îÖÕÏÔʾʲôÊǸù¾ÝÄãµÄÅäÖÃÎļþ¶ø¶¨µÄ£¬Èç¹ûÕÒ²»µ½ÅäÖÃÎļþ£¬
²Å»áÊä³ö³Ì
ÐòÀïÃæµÄÄÚÈÝ¡£
²½ÖèÈý£º±àÂë²âÊÔ
1£¬ÎÒÃÇÔÚ
d:\wwwÏÂÃæÐ½¨Îļþ
hi.php£¬
Ïêϸ´úÂëÈçÏÂ
<?php
$domain = 'test';
bindtextdomain($domain, "locale/");//ÉèÖÃij¸öÓòµÄmoÎļþ·¾¶
textdomain($domain);//ÉèÖÃgettext()º¯Êý´ÓÄĸöÓòÈ¥ÕÒmoÎļþ
echo gettext("Hi!");//_()ÊÇgettext()º¯ÊýµÄ¼òдÐÎʽ

?>

ÕâʱÄãÔËÐиijÌÐò£¬Ö»»á
Êä ......

ÈçºÎÔÚPHPÖд´½¨Êý×é

Ô­ÎÄÁ´½Ó£ºhttp://www.phpdo.net/index.php/20100409/54.html
ÈçºÎÔÚPHPÖд´½¨Êý×éÄØ£¿
ÔÚPHPÖÐʹÓÃarrayº¯ÊýÀ´´´½¨Ò»¸öÊý×飬ËüÔÊÐíÒ»¶¨ÊýÁ¿ÓöººÅkey=>value²ÎÊý¡£Key¿ÉÒÔÊÇinteger»òÕßstringÀàÐÍ£¬value¿ÉÒÔÊÇÈκÎÖµ¡£
ÀýÈ磺
 <?php
 $array = array(“php1″=>”phpdo”,2=>”www.phpdo.net”);
 echo $array["php1"];
 echo ‘<br>’;
 echo $array[2];
 ?>
½á¹û£º
phpdo
www.phpdo.net
Êý×éÓÐһάµÄÒ²ÓжþάµÄ£¬ÈçºÎÔÚPHPÖд´½¨¶þάÊý×éÄØ£¿
û´í¡£¾ÍÊÇÈÃһάÊý×éµÄÔªËØÒ²³ÉΪһ¸öÊý×é¡£
ÀýÈ磺
 <?php
 $array = array(“php1″ =>array(0 =>”php”,1 =>”phpdo”),”php2″ =>array(0=>”phpdo.net”,1=>”www.phpdo.net”));
 echo $array["php1"][0];
 echo “<BR>”;
 echo $array["php1"][1];
 echo “<BR>”;
 echo $array["php2"][0];
 echo “<BR>”;
& ......

PHP autoload»úÖÆÏê½â

(1) autoload»úÖÆ¸ÅÊö
ÔÚʹÓÃPHPµÄOOģʽ¿ª·¢ÏµÍ³Ê±£¬Í¨³£´ó¼Òϰ¹ßÉϽ«Ã¿¸öÀàµÄʵÏÖ¶¼´æ·ÅÔÚÒ»¸öµ¥¶ÀµÄÎļþÀÕâÑù»áºÜÈÝÒ×ʵÏÖ¶ÔÀà½øÐи´Óã¬Í¬Ê±½«À´Î¬»¤Ê±Ò²ºÜ±ãÀû¡£ÕâÒ²ÊÇOOÉè¼ÆµÄ»ù±¾Ë¼ÏëÖ®Ò»¡£ÔÚPHP5֮ǰ£¬Èç¹ûÐèҪʹÓÃÒ»¸öÀֻ࣬ÐèÒªÖ±½ÓʹÓÃinclude/require½«Æä°üº¬½øÀ´¼´¿É¡£ÏÂÃæÊÇÒ»¸öʵ¼ÊµÄÀý×Ó£º
CODE:
/* Person.class.php */
<?php
class Person {
  var $name, $age;
  
  function __construct ($name, $age)
  {
   $this->name = $name;
   $this->age = $age;
  }
}
?>
CODE:
/* no_autoload.php */
<?php
require_once ("Person.class.php");
$person = new Person("Altair", 6);
var_dump ($person);
?>ÔÚÕâ¸öÀý×ÓÖУ¬no-autoload.phpÎļþÐèҪʹÓÃPersonÀ࣬ËüʹÓÃÁËrequire_once½«Æä°üº¬£¬È»ºó¾Í¿ÉÒÔÖ±½ÓʹÓÃPersonÀàÀ´ÊµÀý»¯Ò»¸ö¶ÔÏó¡£
µ«Ëæ×ÅÏîÄ¿¹æÄ£µÄ²»¶ÏÀ©´ó£¬Ê¹ÓÃÕâÖÖ·½Ê½»á´øÀ´Ò»Ð©Òþº¬µÄÎÊÌ⣺Èç¹ûÒ»¸öPHPÎļþÐèҪʹÓúܶàÆäËüÀ࣬ÄÇô¾ÍÐèÒªºÜ¶àµÄrequire/include Óï¾ä£¬ÕâÑùÓпÉÄÜ»áÔì³ÉÒÅ©»òÕß°üº¬½ø²»±ØÒªµÄÀàÎļþ¡£Èç¹ ......

windowsÏ¿ª·¢PHPÀ©Õ¹dll£¨ÎÞÐèCygwin£©

windowsÏ¿ª·¢phpÀ©Õ¹ÍøÉϺܶà×ÊÁ϶¼ËµÐèÒªCygwin£¬ÆäʵÍêÈ«¿ÉÒÔ²»±Ø°²×°¸Ã¶«¶«¡£Ã»´í£¬ÊÇ¿ÉÒÔÔÚlinuxÏÂÉú³É¹Ç¼Üºó¿½µ½windosÏÂÀ´Ó㬵«ÊÇ£¬Èç¹ûûÓÐlinux»·¾³ÄØ£¿Ê²Ã´£¬×°ÐéÄâ»ú£¿ÎÒÔΣ¬ÄãÕ¦ÓÖÈÆ»ØÈ¥ÁË- -£¡ ³ýÁ˱àÒëÍ⣬shell»·¾³Ö÷Òª¾ÍÊÇΪÁËÉú³ÉÀ©Õ¹µÄ¹Ç¼Ü£¬Æäʵ¹Ç¼ÜÒѾ­ÔÚphpÔ´Âë°üÖÐÁËÁË£¬ÎÒÃÇÖ»ÐèÒª°ÑÏà¹ØÃû×ÖÌæ»»Ò»Ï¼´¿ÉʹÓá£
×¼±¸£º
1¡¢phpÔ´Âë°üºÍwindowsϵĶþ½øÖưü£¬ÒÔ¼°°²×°Visual C++£¬²¢°ÑMicrosoft Visual Studio\Common\MSDev98\BinµÄ¾ø¶Ô·¾¶Ìí¼Óµ½windows»·¾³±äÁ¿
2¡¢½âѹԴÂë°üµ½d:\php_src
3¡¢½øÈëd:\php_src\extĿ¼£¬¸´ÖÆskeletonÎļþ¼Ð£¬²¢ÖØÃüÃûΪҪ¿ª·¢À©Õ¹µÄÃû×Ö£¬±¾ÀýΪ“linvo”
4¡¢°Ñ¶þ½øÖưüÖÐdevĿ¼ÏµÄphp5ts.libÎļþ£¬¿½Èëн¨µÄlinvoĿ¼
5¡¢±à¼­linvoĿ¼ÖеÄphp_skeleton.h¡¢skeleton.c¡¢skeleton.dspÕâÈý¸öÎļþ£¬Ìæ»»ÄÚÈÝÖÐËùÓÐextnameΪlinvo£¬EXTNAMEΪLINVO¡££¨ÑϸñÇø·Ö´óСд£©
±àÂ룺
6¡¢±à¼­php_skeleton.hÎļþ£¨Í·Îļþ£©
ÔÚPHP_FUNCTION(confirm_linvo_compiled);ÏÂÃæ±àд
PHP_FUNCTION(hello);
ÉùÃ÷Ò»¸öhelloº¯Êý
7¡¢±à¼­skeleton.cÎļþ£¨Ö÷Îļþ£©
ÔÚPHP_FE(confirm_linvo_compiled,     ......
×ܼǼÊý:40319; ×ÜÒ³Êý:6720; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [1866] [1867] [1868] [1869] 1870 [1871] [1872] [1873] [1874] [1875]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ