iman_ebru
Active Member
ساختار و معماری PHP از دو قسمت مهم تشکيل يافته است:
PHP Core يا هسته که عملياتهای اساسی زبان را برعهده دارد.
PHP Extensions يا توسعه ها که در جهت افزايش عملکردهای زبان، تدارک ديده شده است.
انعطاف پذيری و قدرت بالای PHP تا حد زيادی به توابع آن وابسته است. اين توابع را می توان مجموعی از توابع توکار (built-in) و توابع موجود در توسعه های PHP، در نظر گرفت.
توضيح و نمونه های کاربردی توابع توکار PHP را می توانيد در راهنمای (Manual) آن مشاهده کنيد، اما بسياری از توابع، به واسطه فعالسازی توسعه ها، در دسترس ما قرار می گیرند. توسعه ها، قابليت های PHP را وسعت می بخشند؛ برخی از توسعه های اصلی همراه با PHP کامپايل شده و بطور پيش فرض قابل استفاده هستند. ساير توسعه های استاندارد در توزيع های PHP قرار داده می شوند اما برای استفاده از آنها، می بايست آنها در فايل پيکربندی فعال سازيد. از جمله چنين توسعه هايی می توان به توابع بانک اطلاعاتی اشاره کرد که در توزيع های PHP لحاظ شده اند، اما قبل از استفاده از آنها، بايد فعال شوند.
علاوه بر اين، بسياری از توسعه ها هم توسط اشخاص حقيقی (مثل من و شما!) نوشته می شوند و در دسترس همگان قرار می گيرد. در زمره چنين توسعه هايی می توان به PEAR که معدن توسعه های PHP است، اشاره کرد. در اين مطلب و مطالب آينده، در مورد توسعه های موجود و نحوه استفاده از آنها، توضيحاتی می دهم.
بررسی توسعه های اصلی
همانطور که گفته شد، يکسری توسعه هايی هستند که با خود PHP ادغام شده اند و به عبارت بهتر کامپايل شده اند و بدين ترتيب با نصب و فعال سازی PHP بر روی نرم افزار سرويس دهنده، قابل بهره برداری هستند. لازم نيست اطلاعاتی در مورد اين توسعه ها داشته باشيد و يا طريقه فعالسازی آنها را بدانيد، بلکه بايد با قابليت ها و عملکردهای آنها آشنا باشيد. در حقيقت، اگر زمانی هم نيازی به آنها نداشتيد می توانيد آنها را غیرفعال کنيد. برای اينکه از توسعه های فعال، در پيکربندی فعلی PHP آگاه شويد، کافيست به خروجی تابع ()phpinfo نگاهی بياندازيد تا همه چيز برايتان روشن شود. در خروجی اين تابع، فهرستی از تنظيمات هسته PHP و تنظيمات توسعه های فعال PHP را خواهيد يافت.
توسعه هايی که در زير به ذکر نام و توضيح مختصر هر يک پرداخته ام، بطور پيش فرض فعال هستند.
BCMath: يک کتابخانه متشکل از توابع رياضی که دقت بيشتری را نسبت به اعداد مميزشناور PHP ارائه می کند.
calendar: کتابخانه ای برای تبديل فرمت های تقويم به يکديگر نظير Julian، Gregorian، French Republican و...
COM: اجازه دسترسی به آبجکتهای COM را فراهم می کند.
ctype: توابعی جهت بررسی کاراکترها مثلا بررسی اينکه يک کاراکتر، کاراکتر حرفی(alphabetic) می باشد يا نقطه گذاری(punctuation).
ftp: توابعی جهت اتصال و ارسال درخواستها به يک سرويس دهنده FTP. مورد استفاده آن جهت انتقال فايل بين کامپيوترهاست.
odbc: توابعی جهت استفاده از بانکهای اطلاعاتی ODBC.
pcre: توابعی جهت استفاده از عبارات باقاعده(Regex) سازگار با Perl
session: توابعی جهت ايجاد و استفاده از Sessionها که در نسخه های فعلی، Bult-in یا توکار است.
SQLite: توابعی جهت ذخيره سازی اطلاعات در فايلها از طريق واسط SQL.
tokenizer: توابعی جهت تفسير کد PHP.
wddx: توابعی برای استفاده با WDDX.(يک استاندارد مبتنی بر XML جهت تبادل اطلاعات بين برنامه های کاربردی)
xml: کتابخانه ای برای تفسير اسناد XML.
zlib: کتابخانه ای جهت خواندن و نوشتن فايلهای فشرده شده با فرمت gzip.
خوب، تا اينجا فهميديم که اين توسعه ها بطور پيش فرض با PHP کامپايل شده اند. هر چند توسعه های ذکر شده در اين فهرست ممکن است کم و زياد شوند، اما شنيدن نام آنها و کاربرد هر يک، خالی از لطف نيست.
اگر نسخه مخصوص ويندوز PHP را دريافت و نصب کرده ايد، اين توسعه ها در همان نسخه های اجرايی، کامپايل شده اند و اگر هم جز برنامه نويسان خودساخته بوده و PHP را از Source کامپايل و استفاده می کنيد، باز هم اين توسعه ها در زمان کامپايل لحاظ می شوند. در صورتی که مايل به لحاظ شدن توسعه ای بطور پيش فرض نيستيد، کافيست در زمان کامپايل آن را به اطلاع کامپايلر برسانيد. برای مثال اگر از Sessionها استفاده نمی کنيد و از طرفی دوست هم نداريد، پشتيبانی از Session در نسخه ای که کامپایل می کنيد منظور شود، بايد از اختيارات نصب به صورت:
استفاده کنيد. بطور کلی، توسعه های توکار، آنهايی هستند که استفاده زيادی از آنها صورت می گيرد. بنابراين حذف آنها چندان عاقلانه به نظر نمی رسد ولی امکان پذير است.
اگر لينوکس کار باشيد، با نصب اکثر توزيع های لينوکس، PHP هم نصب می شود. ولی اگر از خدمات ميزبانی وب استفاده می کنيد، بدين ترتيب PHP را خود نصب نکرده باشید، نمی توانيد مطمئن شويد که کدام توسعه ها نصب شده اند. معمولا توسعه هايی که بنده ليست کردم، وجود دارند، اما هيچ تضمينی وجود ندارد. مستندات اين توسعه ها را هم می توانيد در فايل راهنمای PHP پيدا کنيد.
نویسنده : نیما شایافر
منبع
ايمان
PHP Core يا هسته که عملياتهای اساسی زبان را برعهده دارد.
PHP Extensions يا توسعه ها که در جهت افزايش عملکردهای زبان، تدارک ديده شده است.
انعطاف پذيری و قدرت بالای PHP تا حد زيادی به توابع آن وابسته است. اين توابع را می توان مجموعی از توابع توکار (built-in) و توابع موجود در توسعه های PHP، در نظر گرفت.
توضيح و نمونه های کاربردی توابع توکار PHP را می توانيد در راهنمای (Manual) آن مشاهده کنيد، اما بسياری از توابع، به واسطه فعالسازی توسعه ها، در دسترس ما قرار می گیرند. توسعه ها، قابليت های PHP را وسعت می بخشند؛ برخی از توسعه های اصلی همراه با PHP کامپايل شده و بطور پيش فرض قابل استفاده هستند. ساير توسعه های استاندارد در توزيع های PHP قرار داده می شوند اما برای استفاده از آنها، می بايست آنها در فايل پيکربندی فعال سازيد. از جمله چنين توسعه هايی می توان به توابع بانک اطلاعاتی اشاره کرد که در توزيع های PHP لحاظ شده اند، اما قبل از استفاده از آنها، بايد فعال شوند.
علاوه بر اين، بسياری از توسعه ها هم توسط اشخاص حقيقی (مثل من و شما!) نوشته می شوند و در دسترس همگان قرار می گيرد. در زمره چنين توسعه هايی می توان به PEAR که معدن توسعه های PHP است، اشاره کرد. در اين مطلب و مطالب آينده، در مورد توسعه های موجود و نحوه استفاده از آنها، توضيحاتی می دهم.
بررسی توسعه های اصلی
همانطور که گفته شد، يکسری توسعه هايی هستند که با خود PHP ادغام شده اند و به عبارت بهتر کامپايل شده اند و بدين ترتيب با نصب و فعال سازی PHP بر روی نرم افزار سرويس دهنده، قابل بهره برداری هستند. لازم نيست اطلاعاتی در مورد اين توسعه ها داشته باشيد و يا طريقه فعالسازی آنها را بدانيد، بلکه بايد با قابليت ها و عملکردهای آنها آشنا باشيد. در حقيقت، اگر زمانی هم نيازی به آنها نداشتيد می توانيد آنها را غیرفعال کنيد. برای اينکه از توسعه های فعال، در پيکربندی فعلی PHP آگاه شويد، کافيست به خروجی تابع ()phpinfo نگاهی بياندازيد تا همه چيز برايتان روشن شود. در خروجی اين تابع، فهرستی از تنظيمات هسته PHP و تنظيمات توسعه های فعال PHP را خواهيد يافت.
توسعه هايی که در زير به ذکر نام و توضيح مختصر هر يک پرداخته ام، بطور پيش فرض فعال هستند.
BCMath: يک کتابخانه متشکل از توابع رياضی که دقت بيشتری را نسبت به اعداد مميزشناور PHP ارائه می کند.
calendar: کتابخانه ای برای تبديل فرمت های تقويم به يکديگر نظير Julian، Gregorian، French Republican و...
COM: اجازه دسترسی به آبجکتهای COM را فراهم می کند.
ctype: توابعی جهت بررسی کاراکترها مثلا بررسی اينکه يک کاراکتر، کاراکتر حرفی(alphabetic) می باشد يا نقطه گذاری(punctuation).
ftp: توابعی جهت اتصال و ارسال درخواستها به يک سرويس دهنده FTP. مورد استفاده آن جهت انتقال فايل بين کامپيوترهاست.
odbc: توابعی جهت استفاده از بانکهای اطلاعاتی ODBC.
pcre: توابعی جهت استفاده از عبارات باقاعده(Regex) سازگار با Perl
session: توابعی جهت ايجاد و استفاده از Sessionها که در نسخه های فعلی، Bult-in یا توکار است.
SQLite: توابعی جهت ذخيره سازی اطلاعات در فايلها از طريق واسط SQL.
tokenizer: توابعی جهت تفسير کد PHP.
wddx: توابعی برای استفاده با WDDX.(يک استاندارد مبتنی بر XML جهت تبادل اطلاعات بين برنامه های کاربردی)
xml: کتابخانه ای برای تفسير اسناد XML.
zlib: کتابخانه ای جهت خواندن و نوشتن فايلهای فشرده شده با فرمت gzip.
خوب، تا اينجا فهميديم که اين توسعه ها بطور پيش فرض با PHP کامپايل شده اند. هر چند توسعه های ذکر شده در اين فهرست ممکن است کم و زياد شوند، اما شنيدن نام آنها و کاربرد هر يک، خالی از لطف نيست.
اگر نسخه مخصوص ويندوز PHP را دريافت و نصب کرده ايد، اين توسعه ها در همان نسخه های اجرايی، کامپايل شده اند و اگر هم جز برنامه نويسان خودساخته بوده و PHP را از Source کامپايل و استفاده می کنيد، باز هم اين توسعه ها در زمان کامپايل لحاظ می شوند. در صورتی که مايل به لحاظ شدن توسعه ای بطور پيش فرض نيستيد، کافيست در زمان کامپايل آن را به اطلاع کامپايلر برسانيد. برای مثال اگر از Sessionها استفاده نمی کنيد و از طرفی دوست هم نداريد، پشتيبانی از Session در نسخه ای که کامپایل می کنيد منظور شود، بايد از اختيارات نصب به صورت:
کد:
--disable-session
اگر لينوکس کار باشيد، با نصب اکثر توزيع های لينوکس، PHP هم نصب می شود. ولی اگر از خدمات ميزبانی وب استفاده می کنيد، بدين ترتيب PHP را خود نصب نکرده باشید، نمی توانيد مطمئن شويد که کدام توسعه ها نصب شده اند. معمولا توسعه هايی که بنده ليست کردم، وجود دارند، اما هيچ تضمينی وجود ندارد. مستندات اين توسعه ها را هم می توانيد در فايل راهنمای PHP پيدا کنيد.
نویسنده : نیما شایافر
منبع
ايمان