visualmind Mon Mar 25 13:09:48 2002 EDT Added files: /phpdoc/ar/language basic-syntax.xml constants.xml Log: Translated to Arabic
Index: phpdoc/ar/language/basic-syntax.xml +++ phpdoc/ar/language/basic-syntax.xml <?xml version="1.0" encoding="iso-8859-6"?> <!-- $EN-Revision: 1.26 $ --> <chapter id="language.basic-syntax"> <title>الصيغة الأساسية</title> <!-- NOTE: Last modified: 2001-05-16 13:00 GMT the language part is currently under heavy revision. Please do not not make any heavy (i.e. structural) modifications to this part for a moment. You'd also better not start any translation yet. Comments are always welcome at [EMAIL PROTECTED] Progress: intro : DOESN'T EXIST - yet? new chapter, with some introductionary remarks? Will be discussed on the ML soon. basic-syntax: FINISHED except maybe moving the 'advanced escaping' to a better place? TODO: - nada types : Being revised. Added all new types Boolean and Integer are more or less finished. The rest isn't. TODO: - why is $foo[bar] bad syntax? - what's the difference between unset($bla) and $bla = NULL; (it is different!) - $obj->{expr} syntax - (unset) cast????? - $bla = unset <== should've been nuked, don't mention it - $str{offset} syntax, rather than $str[offset] - read notes and apply when any of them are useful - remove notes which have been included here. - ... the rest: Not yet started with. TODO: - ? oop : has been revised by Kristian, DONE. --> <sect1 id="language.basic-syntax.phpmode"> <title>الخروج من نمط HTML</title> <para> عندما يقوم مفسر بي إتش بي بمعالجة ملف، فإنه ببساطة يمرر نص الملف كما هو إلى أن يواجه أحد المعّرفات الخاصة والتي تخبره أن يبدأ بترجمة النص كشفرة بي إتش بي. يقوم المفسر عندئذ بتنفيذ كل الكود الذي يجده إلى أن يجد معرّف إقفال البي إتش بي، والذي يخبر المفسر أن يبدأ تمرير النص التالي كما هو مرة أخرى. هذه الآلية التي تسمح لك أن تضمن شفرة بي إتش بي داخل صفحة ويب HTML ، بمعنى آخر: كل ما هو خارج معرفات البي إتش بي يترك كما هو تماماً، بينما كل ما هو داخل المعرفات يعالج برمجياً. </para> <para> هناك أربع مجموعات من المعرفات التي يمكن استخدامها لتحدد بداية ونهاية شفرة PHP . ما يلي هما المعرفات الوحيدة الثابتة دائماً : (<?php. . .?> و <script language="php">. . .</script>) بينما يمكن أن يتم إيقاف وتشغيل المجموعات الأخرى من خلال ملف التهيئة <filename>php.ini</filename>بينما تعتبر الواصفات القصيرة والواصفات الشبيهة بنمط ASP ملائمة لكنها لا تعتبر مرنة مثل الواصفات الطويلة، كذلك فإن كنت تعتزم تضمين شفرة PHP داخل ملفات XML أو XHTML فإنك تحتاج إلى استخدام <?php. . .?> </para> <para> الواصفات (المعرفات) المقبولة في PHP: </para> <para> <example> <title>طرق الخروج من نمط HTML</title> <programlisting role="php"> <![CDATA[ 1. <? echo ("this is the simplest, an SGML processing instruction\n"); ?> <?= expression ?>هذا اختصار يمكن استخدامه بدلاً من "<? echo expression ?>" 2. <?php echo("if you want to serve XHTML or XML documents, do like this\n"); ?> 3. <script language="php"> echo ("some editors (like FrontPage) don't like processing instructions"); </script> 4. <% echo ("You may optionally use ASP-style tags"); %> <%= $variable; # This is a shortcut for "<% echo . . ." %>]]> </programlisting> </example> </para> <para> الطريقة الأولى ممكنة فقط إذا ما كانت الواصفات القصيرة مفعّلة. حيث يمكن ذلك عن طريق الدالة <function>short_tags</function> (PHP 3 فقط), بتفعيل <link linkend="ini.short-open-tag">short_open_tag</link> في الإعدادات الخاصة بملف تهيئة PHP، أو بإعادة بتركيب PHP مع إضافة الخاصية --enable-short-tags<command>configure</command> </para> <para> مرة أخرى، الطريقة الثانية هي الطريقة المستحسنة بشكل عام، إذ أنها تسهل استخدام بي إتش بي في صيغ XML و XHTML.</para> <para> الطريقة الرابعة ممكنة فقط حين تكون المعرفَات على طريقة ASP أو ما يعرف بواصفات (ASP-style) مفّعلة من خلال خاصية التهيئة <link linkend="ini.asp-tags">asp_tags</link>.<note> <para>تمت إضافة دعم واصفات ASP في الإصدار 3.0.4.</para> </note> </para> <para> واصفة النهاية للمجموعة سوف تتضمن مباشرة مؤشر سطر جديد إن كان موجوداً. كما أنها ستغني عن وجود الفاصلة المنقوطة ; بعد آخر أمر ، فلن تحتاج إلى إضافة الفاصلة المنقوطة لإنهاء آخر أمر في المجموعة قبل واصفة الإقفال.</para> <para>تسمح لك PHP باستخدام الشكل التالي :<example><title>صيغة مطورة</title> <programlisting role="php"> <![CDATA[ <?php if ($expression) { ?> <strong>This is true.</strong> <?php } else { ?> <strong>This is false.</strong> <?php } ?>]]> </programlisting> </example> يعمل تماماً كما هو متوقع، لأن مفسر PHP عندما يجد واصفة الإقفال ?> , يبدأ ببساطة تمرير كل ما يلي ذلك كمخرجات حتى يجد واصفة بدء أخرى. المثال المعطى هنا مخترع بالتأكيد ليستغل هذه الميزة، لكنه معّد أساساً في حالة الرغبة في تمرير كمية كبيرة من النص، إذ أن إخراج النص بهذه الطريقة يجنب PHP من محاول تفسير المحتوى وهي عموماً طريقة فعالة أفضل من استخدام <function>echo</function> أو <function> print</function> أو ما شابه.</para> </sect1> <sect1 id="language.basic-syntax.instruction-separation"> <title> طريقة فصل الأوامر</title> <simpara> يتم فصل الأوامر مثلما في لغة C أو Perl بإنهاء كل أمر برمز الفاصلة المنقوطة.</simpara> <para> واصفة الإقفال (?>) تعتبر أيضاً نهاية الجملة، حيث تؤدي كلا الطريقتين التاليتين نفس الغرض:<informalexample> <programlisting role="php"> <![CDATA[ <?php echo "This is a test"; ?> <?php echo "This is a test" ?>]]> </programlisting> </informalexample> </para> </sect1> <sect1 id="language.basic-syntax.comments"> <title>التعليقات</title> <para> PHP تدعم اسلوب لغة C و C++ و Unix shell-style في اضافة التعليقات. مثلاً: <informalexample> <programlisting role="php"> <![CDATA[ <?php echo "This is a test"; // This is a one-line c++ style comment /* This is a multi line comment yet another line of comment */ echo "This is yet another test"; echo "One Final Test"; # This is shell-style style comment ?>]]> </programlisting> </informalexample> </para> <simpara> اسلوب تعليق "السطر-الواحد" في الحقيقة يسمح بإضافة تعليق أو ملاحظة حتى نهاية السطر أو المجموعة أيهما أقرب.</simpara> <informalexample> <programlisting role="php"> <![CDATA[ <h1>This is an <?php # echo "simple";?> example.</h1> <p>The header above will say 'This is an example'. ]]> </programlisting> </informalexample> <simpara> يجب أن تكون حذراً أثناء استخدام نمط لغة C في التعليقات، حيث قد تحدث مشاكل أثناء محاولة إضافة تعليقات بكمية كبيرة.</simpara> <informalexample> <programlisting role="php"> <![CDATA[ <?php /* echo "This is a test"; /* This comment will cause a problem */ */ ?>]]> </programlisting> </informalexample> </sect1> </chapter> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t indent-tabs-mode:nil sgml-parent-document:nil sgml-default-dtd-file:"../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> Index: phpdoc/ar/language/constants.xml +++ phpdoc/ar/language/constants.xml <?xml version="1.0" encoding="iso-8859-6"?> <!-- $EN-Revision: 1.24 $ --> <chapter id="language.constants"> <title>الثوابت</title> <simpara> الثابت هو رمز معرّف لقيمة ما، وكما هو واضح من التسمية فإن القيمة لا يمكن أن تتغير خلال تنفيذ البرنامج. ('الثوابت المميزة' <constant>__FILE__</constant> و <constant>__LINE__</constant> تبدو استثناء لهذه القاعدة، لكنها ليست ثوابت فعلياً.) الثابت يتأثر بحالة الحروف الصغيرة والكبيرة افتراضياً. وقد جرت العادة أن تكون الثوابت دائماً بأحرف كبيرة . </simpara> <para> اسم الثابت يتبع نفس الشروط لأي تسمية في لغة البي إتش بي. الاسم الصحيح للثابت يبدأ بحرف أو شرطة سفلية، متبوعة بأي عدد من الحروف، الأرقام أو الشرط السفلية . وبتعبير قياسي يمكن تمثيل قاعدة اسم الثابت هكذا :<literal>[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*</literal> <!-- TODO: Example of valid & invalid constant names --> </para> <note> <simpara> هنا سنعتبر الحرف هو أحد الحروف الهجائية الانجليزية a-z و A-Z ورموز ASCII ذات القيمة من 127 وحتى 255 (Ox7f-Oxff). </simpara> </note> <simpara> مدى (نطاق) استخدام الثابت مدىً شامل، حيث تستطيع الوصول إليه من أي مكان داخل برنامجك دون اهتمام للمدى.</simpara> <sect1 id="language.constants.syntax"> <title>الصيغة</title> <simpara> تستطيع أن تعرف ثابتاً باستخدام دالة <function>define</function>. حينما يتم تعريف الثابت لا يمكن عندئذ أن يتغير أو يزال تعريفه. </simpara> <simpara> البيانات القياسية فقط (<type>boolean</type>, <type>integer</type>, <type>double</type> و <type>string</type>) يمكن استخدامها في الثوابت. </simpara> <simpara> تستطيع الحصول على قيمة أي ثابت عن طريق تحديد اسمه ببساطه. على عكس المتغيرات، يجب أن <emphasis>لا</emphasis> تسبق الثابت بعلامة<literal>$</literal> تستطيع استخدام الدالة <function>constant</function>، لقراءة قيمة الثابت، اذا كنت ترغب في استخدام اسم الثابت ديناميكياً. تستطيع ايضاً استخدام <function>get_defined_constants</function> للحصول على قائمة بكل الثوابت المعرفة . </simpara> <note> <simpara> الثوابت و المتغيرات (الشاملة) تقع في مواقع مختلفة، مما ينتج عن ذلك مثلاً كون &true; و <varname>$TRUE</varname> مختلفان تماماً.</simpara> </note> <simpara> عندما تستخدم ثابتاً غير معرف، فسيفترض PHP أنك تعني استخدام اسم الثابت نفسه وليس القيمة. سوف يصدر <link linkend="features.error-handling">تنبيه</link> عندما تحدث مثل هذه الحالة. لذلك يمكنك استخدام الدالة <function>defined</function> اذا أردت أن تعرف ما إذا كان الثابت قد تم تعريفه.</simpara> <para> هذه هي الاختلافات بين الثوابت والمتغيرات : <itemizedlist> <listitem> <simpara> الثوابت لا تستخدم علامة الدولار (<literal>$</literal>) قبلها؛ </simpara> </listitem> <listitem> <simpara> الثوابت يمكن أن يتم تعريفها فقط من خلال الدالة <function>define</function>, وليس عن طريق تعيين بسيط; </simpara> </listitem> <listitem> <simpara> الثوابت يمكن تعريفها وتخصيصها في أي مكان دون الاهتمام بشروط مدى المتغيرات؛ </simpara> </listitem> <listitem> <simpara> الثوابت لا يمكن إعادة تعريفها أو إزالة تعريفها، عندما يتم تعريفها مرة تصبح معينة بشكل نهائي؛ </simpara> </listitem> <listitem> <simpara> الثوابت يمكن أن تقدر بقيم قياسية فقط.</simpara> </listitem> </itemizedlist> </para> <para> <example> <title>تعريف الثوابت</title> <programlisting role="php"> <![CDATA[ <?php define("CONSTANT", "Hello world."); echo CONSTANT; // outputs "Hello world." echo Constant; // outputs "Constant" and issues a notice. ?>]]> </programlisting> </example> </para> </sect1> <sect1 id="language.constants.predefined"> <title>الثوابت المعرفة مسبقاً</title> <simpara> تزود PHP عدداً كبيراً من الثوابت المعرفة مسبقاً لأي برنامج ينفذ. العديد من هذه الثوابت عموماً تنشأ بواسطة العديد من الامتدادات (extensions)، وتكون حاضرة عندما تكون هذه الامتدادات متوفرة فقط، إما عبر تحميلها ديناميكياً أو أن تكون مدمجة أثناء التركيب. </simpara> <simpara> قائمة بالثوابت المعرفة مسبقاً موجودة في هذا القسم <link linkend="reserved.constants">الثوابت المعرفة مسبقاً</link> </simpara> </sect1> </chapter> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t indent-tabs-mode:nil sgml-parent-document:nil sgml-default-dtd-file:"../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 -->