وبلاگ فيکسل برای گرافيست ها
SharpLife وبلاگ شخصی مهدی تقی زاده
بازگشت شاهو طوفانی
اين صداگذاری و ميکس آخرشه!
نکته جالبی در مورد تابع output_add_rewrite_var
کاراکتر های فارسی در عکس توسط PHP
مصاحبه من با مجله وزین IranAMP
واژه های فناوری اطلاعات و برابر های پیشنهادی فرهنگستان
دوره های آموزش IT
استانداردهای کدنويسی PHP
| صفحه قبل


IranPHP
نماينده رسمي سايت PHP.net

webilix
منبعي براي برنامه نويسان PHP

phprun
وبلاگي خواندني براي تمام PHP كارها

ם تعداد بازديدكنندگان
كل: 924767
ديروز: 915
امروز: 817
ם تعداد كاربران آنلاين
6 نفر
ם پنج مراجعه آخر
elor678.cm.to
okpoyei.is.com
xcfgykful.chez.com
msedjhtf.keep.pl
xcfgykful.chez.com
 
 
پروژه‌ی فارسی سازی پایگاه داده MySQL
پروژه‌ی فارسی سازی پایگاه داده MySQL به مراحل پایانی خود نزدیک شد.
مدیر آزمایشگاه فناوری اطلاعات مرکز تحقیقات صنایع انفورماتیک، گفت: پروژه‌ی لینوکس ملی از دو سال پیش به منظور محلی‌سازی این سیستم عامل متن‌باز برای کشور شروع شده است و هم اکنون مرحله‌ی دوم این پروژه‌ها در حال انجام است که در این مرحله، افزودن و یا رفع اشکالات قابلیت پشتیبانی از زبان فارسی در برنامه‌های کاربردی لازم و ضروری است.
"مهندس علیرضا منافی" در گفت‌و گو با خبرنگار سرویس فناوری اطلاعات خبرگزاری دانشجویان ایران (ایسنا)، با بیان مطلب بالا،‌افزود: در همین راستا پروژه‌ی افزودن امکانات فارسی به پایگاه داده MySQL به مرکز تحقیقات صنایع انفورماتیک محول شد. همچنین پروژه‌ی صفحه کلید فارسی نیز قبلا در این مرکز با موفقیت انجام شده است.
وی، ادامه داد: پایگاه داده MySQL معروف‌ترین و امن‌ترین پایگاه داده متن باز در جهان است که به همین دلیل بسیاری از شرکت‌های بزرگ مانند NASA، Yahoo، Google، Cisco و Hp از این پایگاه داده‌ها استفاده می‌کنند.
منافی با بیان اینکه این پروژه وارد فاز دوم شده است، تصریح کرد: تقریبا مراحل فنی آن به اتمام رسیده است، در فاز اول با تحقیقات و بررسی‌هایی که بر روی سورس کد این پایگاه داده انجام شد، مشکلات مربوط به زبان فارسی تشخیص داده شد.
وی، از جمله‌ی این مشکلات را ذخیره و نمایش نادرست اطلاعات فارسی و نیز مرتب سازی نادرست حروف فارسی دانست و گفت: این مشکلات در قالب افزودن یک patch نرم افزاری به سورس کد MySQL مرتفع شد و لازم به توضیح است که این patch نرم افزاری مورد تایید توسعه دهندگان اصلی MySQL قرار گرفته و در شاخه‌ی اصلی این نرم افزار Bit keeper ثبت شده است.
وی با اشاره به اینکه نسخه‌ی MySQL .4.1.5 و نسخه‌های بعد از آن شامل امکانات فارسی به طور کامل خواهند بود، ابراز داشت: امکانات ذخیره و نمایش اطلاعات فارسی و تابع جستجو و مرمت سازی فارسی افزوده شده است که کاملا منطبق بر استاندارد یونی کد است و هم اکنون که مرحله‌ی دوم از سری پروژه‌های لینوکس ملی روبه پایان است، لینوکس سمت سرور باید بیشتر مورد توجه قرار گیرد، چرا که بیشترین محبوبیت لینوکس به خاطر امنیت و کارایی بالای آن در سمت سرور است.
به عقیده‌ی وی، مصالح امنیت ملی اقتضا می‌کند که برای پروژه‌های ملی ارگان‌ها و وزارتخانه‌هایی که در زمان کنونی در قالب طرح تکفا هدایت می‌شوند از بستری استفاده شود که از جهت مالکیت و استفاده از آن در هر شرایط سیاسی و اقتصادی مشکلی ایجاد نشود، سیستم عامل‌های مبتنی بر UNIX به خاطر ماهیت متن باز بودن و مشکلات امنیتی کمتر برای این مهم از هر جهت مناسب به نظر می‌رسند. منافی در پایان با بیان اینکه این مساله قبلا توسط این مرکز به شورای عالی انفورماتیک اعلام شد ولی متاسفانه توجه چندانی بدان نشد، تصریح کرد: در بسیاری از کشورهای دیگر که چنین طرح‌هایی را پشت سر گذاشته‌اند و یا در حال اجرای طرح‌های سیستم عامل ملی هستند، ابتدا توجه خود را به سمت سرور معطوف می‌کنند و بعد از انجام این مرحله‌ محلی‌سازی را در کامپیوترهای سمت کاربرنهایی انجام می‌دهند.
منبع: تالار وب

--پی نوشت:
کسی اطلاعات دقيقتر و کاملتر از اين پروژه داره؟ question
 
نظرات شما(2)  
نيم نگاهی به توسعه های استاندارد
همانطور که گفتيم، بسياری از توسعه ها در توزيع PHP قرار دارند اما همراه با PHP کامپايل نشده اند. بدين معنا که، فايلهای مورد نياز و ضروری این توسعه ها در دسترس هستند، اما پشتيبانی از آنها بطور توکار (Built-in) صورت نگرفته است. به اين ترتيب جهت بهره برداری از اين توسعه های سودمند می بايست آنها را فعال نمود. از آنجا که کاربرد اين توسعه ها اکثرا برای مصارف خاصی است، بنا به این دلیل جز توسعه های اساسی که همراه با PHP کامپايل می شوند، نيستند. اينکه چرا اين توسعه ها نوشته شده اند اما بطور پيش فرض فعال نيستند صرفا جهت صرفه جویی در منابع (حافظه و ...) مورد نیاز آنهاست.
چنانچه تصمیم به استفاده از اين توسعه ها گرفتید، افزودن يک توسعه، کار سختی نيست. اگر PHP را از سورس، کامپايل می کنيد با افزودن اختيارات نصب مربوط به توسعه مورد نظر خود، کار تمام است. بسياری از کاربران يونيکس، لينوکس و مک، جز آن دسته از کاربرانی هستند که PHP را در هنگام نصب کامپايل می کنند. اما در مورد کاربران ويندوز اين عده بسيار کم هستند.
اگر نسخه باينری PHP را دانلود و نصب کرده ايد، برای نصب هر يک از توسعه های استاندارد به روش زير عمل کنيد:
۱) فايل php.ini را باز کنيد و به دنبال بخشی با عنوان "Dynamic Extensions" بگرديد؛
کمی پايين تر، عنوان "Windows Extensions" به چشم می خورد و در زير آن يک مشت فايل dll وجود دارد که نام توسعه ای که مورد نظر شماست به طريقی شما را به فايل مربوطه رهنمون ميکند.
۲) حال که توسعه مورد نظر خود را يافتيد کافيست سمی کالن ابتدای آن را برداريد، فايل را ذخيره کنيد و سرويس دهنده را از نو راه اندازی کنيد. (آپاچی را Restart کنید.)
برای مثال ميخواهيم از توابع GD در اسکريپت خود استفاده کنيم. بدين منظور به دنبال خط زير می گرديم:

;extension=php_gd2.dll

با حذف سمی کالن ابتدای آن، بعد از راه اندازی مجدد سرويس دهنده، توابع بسيار سودمندی جهت کار با فايل های گرافيکی در اختيار ما قرار ميگيرد.
در زير به بررسی برخی از متداولترين توسعه ها می پردازم:
Database extensions: اين توسعه ها کاربرد گسترده ای دارند زيرا توابعی را جهت تعامل با بانک های اطلاعاتی، در اختيار می گذارند. اگر توابع Native ای* جهت کار با بانک اطلاعاتی خاصی وجود نداشت، با استفاده از توسعه ODBC می توان PHP را تقريبا به هر بانکی متصل کرد.
* توابع Native یا بومی، توابع اصلی زبان و توابعی هستند که توسط توسعه ها در اختیار برنامه نویس قرار میگیرد.
GD library: از ديگر توسعه های محبوب و رايج، کتابخانه GD است. اين کتابخانه توابع زيادی جهت ايجاد و کار بر روی فرمت های مختلف گرافيکی نظير PNG، GIF و JPEG را دارد.
PHP از نسخه ۴.۳.۰ نسخه توکاری از GD را همراه خود دارد و بجای نصب يک نسخه خارجی از GD کافيست آن را با گزينه with-gd2 کامپایل کنيد و لازم به تعیین کردن مسیر دایرکتوری ای که کتابخانه GD مستقر شده است، نیست.
PDF extension: اين توسعه کتابخانه ای از توابع مورد نياز جهت ايجاد اسناد PDF است. می توان قلم را انتخاب کرده، متن را در سند نوشته و يا تصاويری درج کنيد.
cURL: اين کتابخانه هم تسهيلاتی را جهت ارتباط با سرويس دهنده های مختلفی نظير HTTPS، Telnet، FTP، LDAP و ... را فراهم می کند.
PHP Extensionsاکثر توسعه ها توابعی را در اختيار برنامه نويس و توسعه دهنده قرار می دهند که این توابع با کتابخانه های نرم افزاری در تعامل هستند. برای مثال، توسعه های بانک اطلاعاتی، توابعی را جهت تعامل با یک نرم افزار بانک اطلاعاتی ارائه می کنند. برای اینکه این توسعه ها کار کنند، نرم افزاری که با آنها در تعامل هستند بايد نصب شود.
مثلا برای استفاده از توسعه اوراکل بايد نرم افزار اوراکل (بانک اطلاعاتی اوراکل) را نصب کنيد. در مواقعی که اين کتابخانه های نرم افزاری بر روی سيستم شما نصب نشده باشند بايد آنها را دانلود و نصب کنيد. بدين منظور سری به Manual يا راهنمای PHP بزنيد تا از نحوه نصب و نيازمندی های اين کتابخانه ها اطلاعاتی کسب کنيد. برخی از اين کتابخانه ها در همان توزيع PHP (پکیجی که دانلود کرده اید) موجود است و بنابراين نيازی نيست به دنبال آنها گشته و دانلود کنيد. اين کتابخانه ها را می توان در دايرکتوری اصلی که PHP نصب شده است يافت. برای مثال، پشتیبانی از MySQL نيازمند کتابخانه libmysql.dll (نسخه ۴ و پایین تر) يا libmysqli.dll (نسخه ۴.۱ و بالاتر) است که در دايرکتوری اصلی PHP قرار دارند و باعث عملکرد صحيح دو توسعه mysql و mysqli می شوند.
در جدول روبرو، ليستی از اکثر توسعه های همراه با PHP بجز توسعه های بانک اطلاعاتی را می بينيد.
در اين جدول تمام نام فایلهای dll با ـphp شروع می شود و در دايرکتوری ext در ريشه دايرکتوری php قرار دارند. DIR نام يا مسير دايرکتوری است که کتابخانه های نرم افزاری قرار گرفته اند.
 
نظرات شما(6)  
توسعه های 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
استفاده کنيد. بطور کلی، توسعه های توکار، آنهايی هستند که استفاده زيادی از آنها صورت می گيرد. بنابراين حذف آنها چندان عاقلانه به نظر نمی رسد ولی امکان پذير است. cool
اگر لينوکس کار باشيد، با نصب اکثر توزيع های لينوکس، PHP هم نصب می شود. ولی اگر از خدمات ميزبانی وب استفاده می کنيد، بدين ترتيب PHP را خود نصب نکرده باشید، نمی توانيد مطمئن شويد که کدام توسعه ها نصب شده اند. معمولا توسعه هايی که بنده ليست کردم، وجود دارند، اما هيچ تضمينی وجود ندارد. مستندات اين توسعه ها را هم می توانيد در فايل راهنمای PHP پيدا کنيد.
در قسمت بعدی نگاهی به توسعه های استاندراد PHP می اندازيم و نحوه فعالسازی آنها را توضيح خواهم داد.
 
نظرات شما(4)  
| صفحه قبل
 
 
نام: نيما شايافر
متولد: 7/7/1362
تحصيلات: دانشجو
شغل: طراح وب و برنامه نويس
وضعيت: آفلاين

ماهيانه
مرداد 86 (2)
خرداد 86 (1)
دي 84 (4)
آذر 84 (5)
مرداد 84 (1)
تير 84 (1)
ارديبهشت 84 (2)
دي 83 (1)
آذر 83 (2)
آبان 83 (2)
مهر 83 (4)
شهريور 83 (6)
مرداد 83 (3)
تير 83 (7)
خرداد 83 (7)
ارديبهشت 83 (8)
فروردين 83 (13)
اسفند 82 (12)

موضوعي






جستجوي پيشرفته

BlogRolling is currently inaccessible.
©2004, Design & Developed by: Nima Shayafar. All rights reserved.