¿´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'
));
......
(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 ......
²½ÖèÒ»£º´î½¨»·¾³
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ÌÐò£¬Ö»»á
Êä ......
ÔÎÄÁ´½Ó£º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>”;
& ......
(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À©Õ¹ÍøÉϺܶà×ÊÁ϶¼ËµÐèÒª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, ......