| 223 |  | The top level container tag describing an extension is the |
| 224 |  | <literal><extension></literal> tag. The name of the extension |
| 225 |  | is given in the <literal>name=...</literal> attribute. The extension |
| 226 |  | name has to be a valid C name as it is used as both the extensions |
| 227 |  | directory name and the base name for several C symbols within the |
| 228 |  | generated C code. |
| 229 | Â | </para>Â |
| 230 | Â | <para>Â |
| 231 |  | You can specify which CodeGen_PECL version your specification file |
| 232 |  | was written against using the <literal>version=...</literal> attribute. |
| 233 |  | The <filename>pecl-gen</filename> command will not accept specifications |
| 234 |  | written for a newer version of CodeGen_PECL than the one installed. |
| 235 | Â | If the requested version is older then the current one then CodeGen_PECLÂ |
| 236 |  | will try to fall back to the older versions behavior for features |
| 237 |  | that have changed in incompatible ways. |
|  | 223 | �������ƥ󥷥�����ե������Ǿ��˰�֤����� |
|  | 224 | <literal><extension></literal> �����Ǥ��� |
|  | 225 | �������ƥ󥷥�������iteral>name=...</literal> |
|  | 226 | °��ǻ�ꤷ�ޤ����������ϡ�C �����ѤǤ������Ǥʤ����ʤ����� �Ȥ����Τ⡢�������ϥǥ��쥯�ȥ��Ȥʤ����ǤϤʤ� |
|  | 227 | ������ C ����������������ΰ��Ȥ��Ƥ������뤳�Ȥˤʤ뤫������ |
| Â | 228 | </para>Â |
| Â | 229 | <para>Â |
|  | 230 | ��ݤȤʤ�odeGen_PECL �ΥС�������literal>version=...</literal> |
|  | 231 | °��ǻ�ꤹ�뤳�Ȥ����ޤ������󥹥ȡ��뤵������odeGen_PECL |
|  | 232 | �ΥС������������ǻ�ꤷ���С��������Ť����ϡ� |
|  | 233 | <filename>pecl-gen</filename> ���ޥ�Ϥϲ��������ޤ��� �դˡ����󥹥ȡ��뤵������odeGen_PECL �Τۤ������������ϡ� |
|  | 234 | ��ꤵ�������������Ȥδ֤Ǹߴ���򼺤���������ä�����θ���� �Ť��С������ε����������ˤ��ޤ��� |
| 248 |  | The tags <literal><summary></literal> and |
| 249 |  | <literal><description></literal> should be added at the very top of |
| 250 |  | your extensions. The summary should be a short one-line |
| 251 |  | description of the extension while the actually description can be |
| 252 |  | as detailed as you like. Both are later used to generate the |
| 253 |  | <literal>package.xml</literal> file and the documentation for your |
| 254 |  | extension. The summary line is also put into the |
| 255 |  | <literal>phpinfo()</literal> output of your extension. |
|  | 245 | <literal><summary></literal> �� <literal><description></literal> �ϡ� |
|  | 246 | ���ե������Ƭ�˵��Ҥ��ʤ����ʤ����� summary �Ϥ��Υ������ƥ󥷥��ˤĤ��Ƥδ����(1 ���) |
|  | 247 | ���Ǥ���description �ˤϡ��ܺ٤���򹥤��ʤ�����Ҥ��ޤ��� |
|  | 248 | �����ϡ��� <literal>package.xml</literal> |
|  | 249 | �ե������ɥ�����ο���������Ѥ����ޤ��� |
|  | 250 | summary ����ϡ� |
| Â | 251 | <literal>phpinfo()</literal>Â |
|  | 252 | �μ¹Է�������������褦�ˤʤ����� |
| 277 | Â | <title>Grouping</title>Â |
| 278 | Â | <para>Â |
| 279 |  | The <group> tag can be used to group tag elements that can |
| 280 | Â | appear under the top level <extension> tag. <group>Â |
| 281 | Â | tags may be nested and can take arbitrary attributes. Â |
| 282 | Â | </para>Â |
| 283 | Â | <para>Â |
| 284 |  | The elements within a group may query the group stack for  |
| 285 |  | default values for an attribute supported by the tag but |
| 286 |  | not given for the tag itself or to add accumulated values |
| 287 |  | from all nested groups surrounding the tag itself. |
| 288 | Â | </para>Â |
| 289 | Â | <para>Â |
| 290 |  | Currently the only attribute that takes group values in account |
| 291 | Â | is the 'if' attribute on the following element tags:Â |
| 292 | Â | <class>, <constant>, <function>,<global>, Â |
| 293 |  | <interface>, <phpini>, and <resource>. |
| 294 | Â | </para>Â |
| 295 | Â | </section>Â |
| 296 | Â | Â |
| 297 | Â | <section>Â |
| 298 | Â | <title>Release information</title>Â |
| 299 | Â | <para>Â |
| 300 |  | The release information for your extension should include the |
| 301 |  | extension authors and maintainers, the version number, state and |
| 302 |  | release date, the chosen license and maybe a change log describing |
| 303 |  | previous releases. It is also possible to specify an image file |
| 304 | Â | to be used as a product logo with the <literal>phpinfo()</literal>Â |
| 305 |  | output block for the extension. |
| 306 | Â | </para>Â |
| 307 | Â | <para>Â |
| 308 |  | The <literal><maintainers></literal>, <literal><release></literal> and |
| 309 |  | <literal><changelog></literal> tags specifications are identical to  |
| 310 |  | those in the PEAR <literal>package.xml</literal> specification so  |
| 311 |  | please refer to the  |
| 312 | Â | <ulink url="http://pear.php.net/manual/en/developers.packagedef.php">PEAR documentation</ulink> Â |
| 313 |  | here. |
| 314 | Â | </para>Â |
| 315 | Â | Â |
| 316 | Â | <para>Â |
| 317 |  | If you are going to release the extension using your own channel server instead of pear.php.net |
| 318 |  | you have to add a <channel> tag that specifies the channel host you are releasing on, too. |
|  | 274 | <title>���롼�ײ�</title> |
| Â | 275 | <para>Â |
|  | 276 | <group> ����������Ǥ򥰥롼�פˤޤȤ����ǡ� |
|  | 277 | �ȥåץ��� <extension> ������۲��ǻ�ѤǤ��ޤ��� |
|  | 278 | <group> �����ϥͥ��Ȥ����뤳�Ȥ����� |
|  | 279 | �ޤ�Ǥ�դ�����ꤹ�뤳�Ȥ��Ǥ��ޤ��� |
| Â | 280 | </para>Â |
| Â | 281 | <para>Â |
|  | 282 | group ������Ǥϡ� |
|  | 283 | ���Υ��������ݡ��Ȥ���� (�ǡ����Υ����Ǥϻ�ꤵ�����ʤ���) |
|  | 284 | �Υǥե�����򥰥롼�פΥ����å���䤤�����뤳�Ȥ��������� |
|  | 285 | �ޤ����ͥ��Ȥ�����������Υ��롼�פ�ͤ�ѻ����������뤳�Ȥ⤢������ |
| Â | 286 | </para>Â |
| Â | 287 | <para>Â |
|  | 288 | ���ߡ�group ��ͤ򸫤ƽ���äƤ����� <class>, <constant>, <function>, <global>,  |
|  | 289 | <interface>, <phpini>, ������<resource> |
|  | 290 | �Ȥ��ä�������� 'if' °�����Ǥ��� |
| Â | 291 | </para>Â |
| Â | 292 | </section>Â |
| Â | 293 | Â |
| Â | 294 | <section>Â |
|  | 295 | <title>��������/title> |
| Â | 296 | <para>Â |
|  | 297 | �������ƥ󥷥��Υ�������˴ޤ������ʤ�����ϡ� |
|  | 298 | ��̾�ȥ��ƥ�����С�������桢��������(stable, beta, ...)�� |
|  | 299 | ����������饤���󥹡������Ʋ��Υ���������������ʤɤǤ��� |
|  | 300 | <literal>phpinfo()</literal> �ν�ϻ��ˤ��Υ������ƥ󥷥���˻�Ѥ�����ե����� |
|  | 301 | ��ꤹ�뤳�Ȥ����ޤ��� |
| Â | 302 | </para>Â |
| Â | 303 | <para>Â |
|  | 304 | <literal><maintainers></literal> ��literal><release></literal>�� |
|  | 305 | <literal><changelog></literal> �Ȥ��ä������˵��Ҥ�����ϡ�PEAR �� <literal>package.xml</literal> ������Ǥ��� |
|  | 306 | <ulink url="http://pear.php.net/manual/ja/developers.packagedef.php">PEAR �Υɥ�����/ulink> |
|  | 307 | �򻲾Ȥ�������� |
| Â | 308 | </para>Â |
| Â | 309 | Â |
| Â | 310 | <para>Â |
|  | 311 | pear.php.net �ǤϤʤ�����Υ���륵���Фǥ������ƥ󥷥�������������ϡ� |
|  | 312 | <channel> ������ä��Ƥ����ǥ���륵���Ф�ꤷ�ޤ��� |
| 367 |  | The <literal><license></literal> tag is a little more restrictive as |
| 368 |  | its <literal>package.xml</literal> counterpart as it is used to |
| 369 |  | decide which license text should actually be written to the |
| 370 |  | <literal>LICENSE</literal>. For now you have to specify either |
| 371 |  | <literal>PHP</literal>, <literal>BSD</literal> or |
| 372 |  | <literal>LGPL</literal>, any other value is taken as |
| 373 |  | '<emphasis>unknown</emphasis>'. |
|  | 361 | <literal><license></literal> �����ˤϡ� |
|  | 362 | <literal>package.xml</literal> �ξ������긷���������������� |
|  | 363 | �Ȥ����Τ⡢�������ˤ��Ƽºݤ� <literal>LICENSE</literal> �ե����������뤳�Ȥˤʤ뤫������ |
|  | 364 | ���ߤ����˻�����������󥹤� <literal>PHP</literal>��<literal>BSD</literal> ���뤤�� <literal>LGPL</literal> �Τ����줫�ΤߤǤ����������� '<emphasis>unknown</emphasis>' �Ȥʤ����� |
| 396 |  | A logo to be used within the extensions |
| 397 |  | <literal>phpinfo()</literal> block can be specified using the |
| 398 |  | <literal><logo></literal> tag. The actual logo image data |
| 399 | Â | may be read from a file specified by the <literal>scr=...</literal> Â |
| 400 |  | attribute, or it may be included inline in base64 encoded form |
| 401 |  | within the <literal><logo></literal> tag. |
| 402 |  | Its MIME type may be specified using the |
| 403 |  | <literal>mimetype=...</literal> attribute. Automatic MIME type |
| 404 |  | detection exists for GIF, PNG and JPEG images. |
|  | 385 | <literal>phpinfo()</literal> �ν�ϻ��˻�Ѥ�������ꤹ���� <literal><logo></literal> ������Ѥ��ޤ��� |
|  | 386 | �ºݤβ��ǡ����ϡ�<literal>src=...</literal> |
|  | 387 | °��ǻ�ꤷ���ե����뤫���߹��ߤޤ��� |
|  | 388 | ���뤤�ϡ�base64 ���󥳡��ɤ������� <literal><logo></literal> |
|  | 389 | ��������˥�����������⤫�ޤ��ޤ��� ï¿½í¥´ï¿½ï¿½MIME �����פ�<literal>mimetype=...</literal> |
|  | 390 | °��ǻ�ꤷ�ޤ���GIF��PNG ���� JPEG |
|  | 391 | ����β��ˤĤ��Ƥϡ�MIME �����פ��Ū�˸��Ф��ޤ��� |
| 435 | Â | <title>Dependencies</title>Â |
| 436 | Â | <para>Â |
| 437 | Â | Dependencies are specified within the <literal><deps></literal>Â |
| 438 |  | environment. Within the <literal><deps></literal> section itself it is |
| 439 |  | possible to set the programming language and target platforms using |
| 440 |  | the <literal>language=...</literal> and |
| 441 |  | <literal>platform=...</literal> attributes. |
| 442 | Â | </para>Â |
| 443 | Â | <para>Â |
| 444 | Â | Supported languages are C (<literal>lang="c"</literal>) and C++Â |
| 445 |  | (<literal>lang="cpp"</literal>). The language selection  |
| 446 |  | does not influence code generation itself |
| 447 |  | (<literal>pecl-gen</literal> always generates C code as the PHP extension |
| 448 |  | API is a pure C API) but the way |
| 449 |  | extensions are compiled and linked. C++ should only be selected to |
| 450 |  | interface to external C++ libraries. |
|  | 422 | <title>����</title> |
| Â | 423 | <para>Â |
|  | 424 | ������<literal><deps></literal> �ǻ�ꤷ�ޤ��� |
|  | 425 | <literal><deps></literal> ������������Ǥϡ� |
|  | 426 | ï¿½×¥í¥°ï¿½ï¿½ï¿½ó¥°¸ï¿½ï¿½<literal>language=...</literal> °�) |
|  | 427 | ���ݥץ��ȥե�����<literal>platform=...</literal> °�) |
|  | 428 | ��ꤹ�뤳�Ȥ��Ǥ��ޤ��� |
| Â | 429 | </para>Â |
| Â | 430 | <para>Â |
|  | 431 | ������Ƥ�������C (<literal>lang="c"</literal>) ��C++ |
|  | 432 | (<literal>lang="cpp"</literal>) �Ǥ��� |
|  | 433 | �����ǻ�ꤷ��������������������ɤ�����櫓�ǤϤ������� (<literal>pecl-gen</literal> �Ͼ� C �Υ����ɤ�����ޤ��� |
|  | 434 | �Ȥ����Τ�HP �������ƥ󥷥���API ���ԥ奢 C �ǽ񤫤����뤫����) |
|  | 435 | �����������ƥ󥷥��򥳥���뤷�����󥯤����ꤹ�������Ѥ��ޤ��� |
|  | 436 | C++ ��򤹤��ϡ�C++ �ǽ񤫤줿����饤�֥���Ѥ���������ˤ��ޤ��礦�� |
| 454 |  | I've been thinking about a Delphi backend, too. But as this would require |
| 455 |  | a substantial ammount of work (the complete code generation would have |
| 456 |  | to become template based) i'm not going to start this unless there's  |
| 457 |  | massive interest in something like this or unless someone is willing to |
| 458 |  | financially sponsor this kind of work. |
| 459 | Â | </para>Â |
|  | 440 | Delphi �򥵥ݡ��Ȥ��뤳�Ȥ���³���ƤϤ��ޤ��� |
|  | 441 | ������������ʤ��ݤ������ˤʤꤽ���Ǥ� |
|  | 442 | (�����ɤ������졼�ȥ١����ˤ��ʤ����ʤ����Ǥ��礦)�� |
|  | 443 | ���ݤɤ��κ����������ʤä��Ǥ����� |
|  | 444 | ï��������Ƥ����褦�ˤʤä��Ǥ������λ���ʤ��¤ꡢ |
|  | 445 | ���ΤȤ����Ȥ˼��ݤ������Ϥ������� </para> |
| 488 |  | When building an extension on Unix-like systems or within the |
| 489 | Â | Cygwin environment under Windows the <literal>configure</literal>Â |
| 490 |  | script will try to figure out where external libraries and header |
| 491 |  | files needed by an extension are installed on the build system. |
| 492 |  | Using a <literal>--with-...</literal> option it is possible to specify where to actually |
| 493 |  | look for libraries and headers. This way it is possible to |
| 494 |  | override search paths if things are not installed in the default |
| 495 |  | system paths or to specify the exact version of a package to be |
| 496 |  | used if multiple versions are installed on the target system. |
| 497 | Â | </para>Â |
| 498 | Â | <para>Â |
| 499 | Â | The <literal><with></literal> tag takes three attributes:Â |
| 500 | Â | <literal>name=...</literal> for the actual name of the <literal>--with-...</literal>Â |
| 501 |  | option, <literal>testfile</literal> for the relative path of a |
| 502 | Â | file to check for while running the <literal>configure</literal>Â |
| 503 |  | script and a list of default paths to check if no path is given |
| 504 |  | as an argument to the <literal>--with-...</literal> option in |
| 505 | Â | <literal>defaults</literal>. Â |
| 506 | Â | </para>Â |
| 507 | Â | <para>Â |
| 508 |  | Name and defaults are set to the extension base name and |
| 509 | Â | <filename>/usr:/usr/local</filename> if no values are given. Â |
| 510 |  | The testfile attribute is mandatory. |
| 511 | Â | </para>Â |
| 512 | Â | <para>Â |
| 513 |  | Textual data enclosed by the <literal><with></literal> is used to |
| 514 |  | describe the "with" option in the output of <literal>configure |
| 515 |  | --help</literal> calls. |
|  | 473 | Unix �ϤΥ����ƥࡢ���뤤��Windows ��Cygwin �Ķ��ǥ������ƥ󥷥���������ˤϡ� |
|  | 474 | ɬ��ʳ���饤�֥����å�ե����뤬���Υ����ƥ�¸�ߤ��뤫�ɤ����� <literal>configure</literal> �������Ȥ�õ���ޤ��� |
|  | 475 | <literal>--with-...</literal> ���ץ�����Ѥ����� |
|  | 476 | �饤�֥����å��ݤˤɤ��������Τ�����������ˤʤ����� |
|  | 477 | �����Υե����뤬�ǥե����ξ��ʳ��˥��󥹥ȡ��뤵���������ʤɤ˻�Ѥ��ޤ��� |
|  | 478 | ���뤤�ϡ�ʣ��С����������󥹥ȡ��뤵���������� ���ΥС�������ꤷ�������ˤ�����ޤ��� |
| Â | 479 | </para>Â |
| Â | 480 | <para>Â |
|  | 481 | <literal><with></literal> �����ˤ�3 �Ĥ�����ꤷ�ޤ��� |
|  | 482 | <literal>name=...</literal> ��<literal>--with-...</literal> |
|  | 483 | ���ץ����ǻ�Ѥ������<literal>testfile</literal> |
|  | 484 | ��<literal>configure</literal> |
|  | 485 | �������Ȥμ¹Ի�����٤����ե���������ѥ��� |
|  | 486 | ������<literal>--with-...</literal> |
|  | 487 | ���ץ����ΰ�����������˥ե�����õ���ѥ��Υꥹ�Ȥ� <literal>defaults</literal> �˻�ꤷ�ޤ��� |
| Â | 488 | </para>Â |
| Â | 489 | <para>Â |
|  | 490 | name ��defaults ����������ϡ����줾�쥨�����ƥ󥷥�̾�� <filename>/usr:/usr/local</filename> ����ưŪ���ꤵ������ |
|  | 491 | testfile °�����ܤǤ��� |
| Â | 492 | </para>Â |
| Â | 493 | <para>Â |
|  | 494 | <literal><with></literal> ����˵��Ҥ����ƥ����Ȥϡ� |
|  | 495 | <literal>configure --help</literal> �ν�Ϸ���� |
|  | 496 | ���Υ��ץ����β�Ȥ�������������� |
| 530 | Â | <title>Header files</title>Â |
| 531 | Â | <para>Â |
| 532 |  | It is possible to specify header files needed by the extension |
| 533 |  | using the <literal><header></literal>. Any headers specified have |
| 534 |  | to exist in the include path set for compiling (see also the |
| 535 | Â | section on <literal>--with</literal>Â |
| 536 |  | above). <literal>#include</literal> statements for the specified |
| 537 |  | headers are the last ones to be put into the generated code |
| 538 |  | unless you set the <literal>prepend="yes"</literal> attribute to |
| 539 |  | have it put in front of the other <literal>#include</literal>s. |
| 540 | Â | </para>Â |
| 541 | Â | <para>Â |
| 542 | Â | By default header files are searched for in the <literal>include</literal>Â |
| 543 |  | subdirectory of the path given in <literal><with></literal>. If a |
| 544 |  | different relative path needs to be used it can be defined using |
| 545 |  | the <literal>path</literal> attribute. |
|  | 511 | <title>�إå�ե�����title> |
| Â | 512 | <para>Â |
|  | 513 | ���Υ������ƥ󥷥������ʥإå�ե�������ꤹ���� <literal><header></literal> ��Ѥ��ޤ��� |
|  | 514 | �����ǻ�ꤷ�����٤ƤΥإå�ϡ� |
|  | 515 | ����������ꤷ�����󥯥롼�ɥѥ�����ߤ������������ |
|  | 516 | (��ۤɤ�<literal>--with</literal> �Υ��������⻲�Ȥ������)�� |
|  | 517 | �����ǻ�ꤷ���إå��б�����literal>#include</literal> |
|  | 518 | ���ơ��ȥ��Ȥϡ���ư�����������ɤ�����Ǹ���ä������� |
|  | 519 | �⤷�������<literal>#include</literal> |
|  | 520 | �����֤��������ϡ�<literal>prepend="yes"</literal> |
|  | 521 | °���ꤷ�Ƥ�������� |
| Â | 522 | </para>Â |
| Â | 523 | <para>Â |
|  | 524 | �ǥե����Ǥϡ�<literal><with></literal> |
|  | 525 | �ǻ�ꤷ���ѥ��Υ��֥ǥ��쥯�ȥ�literal>include</literal> |
|  | 526 | �����å�ե�����õ���ޤ��� |
|  | 527 | ����������ѥ���ꤹ������������� |
|  | 528 | <literal>path</literal> °���ꤷ�ޤ��� |
| 570 | Â | <title>Libraries</title>Â |
| 571 | Â | <para>Â |
| 572 |  | Needed external libraries are specified using the |
| 573 | Â | <literal><lib></literal> tag. The <literal>name=...</literal>Â |
| 574 |  | attribute is mandatory and takes the library base name. A library |
| 575 |  | dependency by the name "sample" is actually referring to a library |
| 576 |  | file named <filename>libsample.a</filename> for a static or  |
| 577 |  | <filename>libsample.so</filename> for a dynamic library on |
| 578 |  | Unix-like systems or to <filename>sample.DLL</filename> on |
| 579 |  | Windows. |
| 580 | Â | </para>Â |
| 581 | Â | <para>Â |
| 582 |  | It is possible to specify the name of a function symbol expected |
| 583 |  | to be provided by the library using the |
| 584 |  | <literal>function=...</literal> attribute. This function symbol |
| 585 |  | is being looked for when <literal>configure</literal> is run for |
| 586 |  | the extension. This way it is possible to verify that the right |
| 587 |  | version of a library was found. With VisualStudio on windows it |
| 588 |  | is not possible to perform this check, in this case the library |
| 589 |  | is just added to the project file. |
|  | 553 | <title>�饤�֥�</title> |
| Â | 554 | <para>Â |
|  | 555 | ɬ��ʳ���饤�֥���ꤹ���� <literal><lib></literal> �����Ǥ��� |
|  | 556 | <literal>name=...</literal> °�����ܤǡ������˥饤�֥�̾��ꤷ�ޤ��� |
|  | 557 | ̾��Ȥ��Ƥ��Ȥ���"sample" ��ꤷ���Ȥ��˼ºݤ�����ե������� |
|  | 558 | Unix �ϥ����ƥ����ϥ����ƥ��å��饤�֥� <filename>libsample.a</filename> |
|  | 559 | ���뤤�ϥ���ʥߥå��饤�֥� <filename>libsample.so</filename>�� |
|  | 560 | Windows �ξ���<filename>sample.DLL</filename> �Ȥʤ����� |
| Â | 561 | </para>Â |
| Â | 562 | <para>Â |
|  | 563 | ï¿½ï¿½ï¿½Î¥é¥¤ï¿½Ö¥ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ý¡ï¿½ï¿½È¤ï¿½ï¿½Æ¤ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½í¤¦ï¿½Ø¿ï¿½ï¿½ï¿½ï¿½ï¿½ <literal>function=...</literal> °��ǻ�ꤹ�뤳�Ȥ����ޤ��� |
|  | 564 | �������ƥ󥷥���<literal>configure</literal> |
|  | 565 | ��Ԥ������ˡ����δؿ���õ���ޤ��� |
|  | 566 | �������뤳�Ȥǡ�������С������Υ饤�֥������Ĥ��ä����ɤ�����¤���٤뤳�Ȥ��Ǥ��ޤ��� |
|  | 567 | Windows ��VisualStudio �ǤϤ��Υ���å�������Ȥ��Ǥ��ޤ��� ���ξ��ϥ饤�֥��ò¤¿¤ï¿½×¥í¥¸ï¿½ï¿½ï¿½ï¿½ï¿½È¥Õ¥ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ã¤ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ç¤ï¿½ï¿½ï¿½Â |
| 606 | Â | <title>Dependencies to other extensions</title>Â |
| 607 | Â | <para>Â |
| 608 |  | Starting with PHP 5.1 it is possible to define dependendies  |
| 609 |  | between extensions. Dependencies determine the order in which |
| 610 |  | extensions are initialized and shut down. They also make sure |
| 611 |  | that extensions like <literal>pdo_mysql</literal> that require a |
| 612 |  | base extension like <literal>pdo</literal> are only loaded if  |
| 613 |  | that extension is present and that two extensions that would |
| 614 |  | conflict whith each other are not loaded at the same time. |
| 615 | Â | </para>Â |
| 616 | Â | <para>Â |
| 617 | Â | A dependency is defined using an <literal><extension></literal> Â |
| 618 |  | tag within <literal><deps></literal>. |
| 619 |  | Here the <literal><extension></literal> takes at least |
| 620 | Â | a <literal>name=...</literal>. Â |
| 621 | Â | </para>Â |
| 622 | Â | <para>Â |
| 623 |  | By default this means that the  |
| 624 |  | extension by that name is required by your extension and has |
| 625 |  | to be initialized first. This behavior can also explicitly |
| 626 |  | be requested by setting the <literal>type=...</literal> attribute  |
| 627 |  | to <literal>REQUIRED</literal>. Other possible values are  |
| 628 |  | <literal>OPTIONAL</literal> if the other extension should  |
| 629 |  | be initialized first if present but is not required by your |
| 630 |  | extension and <literal>CONFLICTS</literal> if your extension |
| 631 |  | and the other one conflict in some way and should not be |
| 632 |  | loaded at the same time. |
| 633 | Â | </para>Â |
| 634 | Â | <para>Â |
| 635 |  | The extension API and CodeGen_PECL also allow to specify |
| 636 |  | version checks on dependencies, the actual checks are |
| 637 | Â | not yet implemented as of PHP 5.1 though. CodeGen_PECLÂ |
| 638 |  | allready supports these anyhow, and as soon as the functionality |
| 639 |  | is implemented within PHP the generated extensions will |
| 640 |  | make use of it. |
|  | 584 | <title>¾�Υ������ƥ󥷥��ؤΰ���</title> |
| Â | 585 | <para>Â |
|  | 586 | PHP 5.1 �ʹߤǤϡ�ʣ������ƥ󥷥��֤Ǥΰ��������뤳�Ȥ��Ǥ��ޤ��� |
|  | 587 | ���ΰ����ˤ��Ť��ơ��������ƥ󥷥��ν����䥷���ȥ��������������� |
|  | 588 | ���Ȥ��С�<literal>pdo</literal> ��¸�ߤ������Τ� <literal>pdo_mysql</literal> ����ɤ����������䡢 |
|  | 589 | ï¿½ß¤ï¿½ï¿½Ë¾ï¿½Í¤ï¿½ï¿½ë¥¨ï¿½ï¿½ï¿½ï¿½ï¿½Æ¥ó¥·¥ï¿½ï¿½ï¿½ï¿½ï¿½Ë¥í¡¼ï¿½É¤ï¿½ï¿½Ê¤ï¿½ï¿½è¤¦ï¿½Ë¤ï¿½ï¿½ï¿½ï¿½É¤È¤ï¿½ï¿½Ã¤ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Þ¤ï¿½ï¿½ï¿½Â |
| Â | 590 | </para>Â |
| Â | 591 | <para>Â |
|  | 592 | ���ΰ����������ϡ�<literal><deps></literal> |
|  | 593 | �����<literal><extension></literal> ��Ѥ��ޤ��� |
|  | 594 | <literal><extension></literal> �ˤϾ��ʤ��Ȥ� <literal>name=...</literal> ��ꤹ������������� |
| Â | 595 | </para>Â |
| Â | 596 | <para>Â |
|  | 597 | �ǥե����ΰ���ϡ� |
|  | 598 | �֤��޺����Ƥ��륨�����ƥ󥷥���Ѥ����ϡ� |
|  | 599 | �����ǻ�ꤷ��̾��Υ������ƥ󥷥�����˽����������ʤ����ʤ����� �Ǥ������������Ū�˻�ꤹ���ϡ� |
|  | 600 | <literal>type=...</literal> °��� <literal>REQUIRED</literal> �ˤ��ޤ��� |
|  | 601 | �������˻�ѤǤ�����<literal>OPTIONAL</literal> |
|  | 602 | ��<literal>CONFLICTS</literal> �Ǥ��� |
|  | 603 | <literal>OPTIONAL</literal> �ϡ� |
|  | 604 | �ֻ�˽�����������������뤬�� |
|  | 605 | �ʤ��Ƥ⤫�ޤ����פȤ����������ޤ��� |
|  | 606 | <literal>CONFLICTS</literal> �ϡ� |
|  | 607 | �֤��Υ������ƥ󥷥�������˻�Ѥ��뤳�ȤϤǤ��ʤ��� �Ȥ����������ޤ��� |
| Â | 608 | </para>Â |
| Â | 609 | <para>Â |
|  | 610 | �������ƥ󥷥���API ��CodeGen_PECL |
|  | 611 | �ϡ��ɤ����������å��˥С���������ޤ����Ȥ��Ǥ��ޤ��� |
|  | 612 | ���������ºݤΥ���å���PHP 5.1 �λ���ǤϤޤ�������ޤ��� CodeGen_PECL �ǤϤ��Ǥˤ����򥵥ݡ��Ȥ��Ƥ��ꡢ |
|  | 613 | PHP ¦�Ǥ��ε�ǽ�������Ф����ˤ�����ѤǤ������ˤʤ����� |
| 643 |  | Version dependencies are defined using  |
| 644 |  | the <literal>version=...</literal> attribute and the |
| 645 | Â | optional <literal>rel=...</literal> attribute. Â |
| 646 | Â | <literal>version</literal> takes a 'PHP-standardized'Â |
| 647 | Â | version number string (see http://php.net/version_compare)Â |
| 648 |  | and <literal>rel</literal> defines the operator to be |
| 649 |  | used to compare the actual extension version with the |
| 650 |  | one in <literal>version</literal>. The default value |
| 651 |  | for <literal>rel</literal> is <literal>>=</literal>, |
| 652 |  | so the extensions version number has to be at least as |
| 653 | Â | high as specified. Possible <literal>>=</literal>Â |
| 654 | Â | values are <literal>>=</literal>, <literal>></literal>, Â |
| 655 |  | <literal>=</literal>, <literal><</literal> and  |
| 656 |  | <literal><=</literal> or their text alternatives  |
| 657 | Â | <literal>ge</literal>, <literal>gt</literal>, Â |
| 658 |  | <literal>eq</literal>, <literal>lt</literal> and  |
| 659 |  | <literal>le</literal>. |
|  | 616 | �С������ΰ����������ϡ� |
|  | 617 | <literal>version=...</literal> °��ȥ��ץ����� <literal>rel=...</literal> °���Ѥ��ޤ��� |
|  | 618 | <literal>version</literal> �˻�ꤹ���ϡ�'PHP ɸ����' |
|  | 619 | �ΥС����������http://php.net/version_compare �򻲾Ȥ������) |
|  | 620 | �ǡ�<literal>rel</literal> �˻�ꤹ���� �ºݤΥС�������<literal>version</literal> |
|  | 621 | �Ȥ���˻�Ѥ������ҤǤ��� |
|  | 622 | <literal>rel</literal> �Υǥե�����<literal>>=</literal> |
|  | 623 | �Ǥ������������ʤ��Ȥ�������С������ʹߤ�ɬ��Ȥ�������ˤʤ����� |
|  | 624 | <literal>>=</literal> �������������ϡ� |
|  | 625 | <literal>>=</literal> ��literal>></literal>�� |
|  | 626 | <literal>=</literal>��<literal><</literal> ������ <literal><=</literal> �Ǥ����ޤ�������������Ȥ��������� |
|  | 627 | <literal>ge</literal>��<literal>gt</literal>�� |
|  | 628 | <literal>eq</literal>��<literal>lt</literal> ���� |
|  | 629 | <literal>le</literal> ����Ǥ��ޤ��� |