Zend_Config-Introduction.xml 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <sect1 id="zend.config.introduction">
  2. <title>مقدمة</title>
  3. <para>
  4. تم تصميم <code>Zend_Config</code> لتُبسّط عملية الوصول و أستخدام بيانات الأعدادات "configuration data"
  5. داخل التطبيقات , حيث توفرالوصول إلى هذه البيانات بنفس الطريقة المتبعة لقرائة قيمة
  6. property فى أى كائن PHP عادى,
  7. و يمكن أن تأتى هذه البيانات من عدّة وسائط حفظ بيانات تدعم جفظ البيانات بهيكلة هرمية,
  8. فحالياً توفر <code>Zend_Config</code> ادوات لقرائة انواع من البيانات المحفوظة فى ملفات نصية و هى
  9. <link linkend="zend.config.adapters.ini"><code>Zend_Config_Ini</code></link> و
  10. <link linkend="zend.config.adapters.xml"><code>Zend_Config_Xml</code></link>.
  11. </para>
  12. <example>
  13. <title>إستخدام Zend_Config Per Se</title>
  14. <para>
  15. من الطبيعى توقع أن المبرمجين سيستخدمون أحد الـ adapter classes أو الـ "classes التوفيقية" مثل
  16. <link linkend="zend.config.adapters.ini"><code>Zend_Config_Ini</code></link> أو
  17. <link linkend="zend.config.adapters.xml"><code>Zend_Config_Xml</code></link>,
  18. لكن إن كانت بيانات الأعدادات متوفرة فى مصفوفة PHP عادية, يمكن تمرير هذه البيانات إلى
  19. <code>Zend_Config</code> فى الـ constructor , و ذلك يفضل لتغليف البيانات داخل
  20. واجهة كأنية.
  21. </para>
  22. <programlisting role="php"><![CDATA[<?php
  23. // Given an array of configuration data
  24. $configArray = array(
  25. 'webhost' => 'www.example.com',
  26. 'database' => array(
  27. 'type' => 'pdo_mysql',
  28. 'host' => 'db.example.com',
  29. 'username' => 'dbuser',
  30. 'password' => 'secret',
  31. 'name' => 'dbname'
  32. )
  33. );
  34. // Create the object-oriented wrapper upon the configuration data
  35. require_once 'Zend/Config.php';
  36. $config = new Zend_Config($configArray);
  37. // Print a configuration datum (results in 'www.example.com')
  38. echo $config->webhost;
  39. // Use the configuration data to connect to the database
  40. $myApplicationObject->databaseConnect($config->database->type,
  41. $config->database->host,
  42. $config->database->username,
  43. $config->database->password,
  44. $config->database->name);]]></programlisting>
  45. </example>
  46. <para>
  47. كما هو موضح فى المثال السابق , <code>Zend_Config</code> توفر امكانية الوصول إلى البيانات
  48. الممرة إليه بنفس الطريقة المتبعة لقرائة قيم property من أى كائن PHP عادى.
  49. </para>
  50. </sect1>
  51. <!--
  52. vim:se ts=4 sw=4 et:
  53. -->