فکر اوليه php در پاييز سال 1994توسط Rasmus Lerdorf ايجاد شد و مخفف واژگان Personal Home Pages به حساب مي آيد. در ابتدا نگارشي از php در صفحه شخصي وي به کارگرفته شده تا اطلاعاتي از کساني که رزومه وي را مي بينند نگاه داشته شود. اکنون php4 آخرين نگارش اين محصول است که درآن از موتور اسکريپت zend براي بدست آوردن قابليت هاي بيشتر استفاده شده است .
هم اکنون برآورد مي شود بيش از 000/100/5 سايت از php استفاده کرده اند که اين ميزان از تمامي سايتهاي که ازسرورهاي IIS مايکروسافت استفاده مي کنند بيشتر است .
چگونه از PHP استفاده کنيم؟
PHP نرم افزاري رايگان و Open source است که مي توان آنرا از سايت [External Link Removed for Guests] دريافت کرد . دراين سايت بسياري از نرم افزارهايي که براي کار با php طراحي شده اند معرفي گرديده است . ابزارهايي مانند php traid يک بسته نرم افزاري رايگان است ودرآن علاوه بر مفسرphp , مفسرزبان perl و موتورپايگاه mysql ونسخه تحت ويندوزوب سرورapache قراردارد.
PHP چيست ؟
با گسترش قابليت ها و موارد استفاده اين زبان PHP در معناي Hypertext Preprocessor به كار گرفته شد. عبارت پيش پردازشگر (Preprocessor) بدين معني است كه PHP اطلاعات را قبل از تبديل به زبان Html پردازش مي كند . بيشترترکيب ها ودستورات آن اززبانهاي c,java و perl گرفته شده که قابليتهاي منحصربه فردي به آن اضافه گرديده است . PHP زبان اسكريپتي سمت سرويس دهنده(server side)- Cross-Platform- Html Embeded است .
سمت سرويس دهنده بودن PHP بدين معناست كه تمام پردازشهاي اين زبان بر روي سرويس دهنده (Server) انجام مي گيرد.
منظور از Cross-Platform بودن اين زبان اين است كه بروي هر سيستم و با هر سيستم عاملي از قبيل : Unix, Windows NT, Macintosh, Os/2 اجرا ميشوند. توجه كنيد كه منظور از سيستم عامل، سيستم عامل هايي مي باشند كه بر روي سرويس دهنده نصب مي شوند. PHP نه تنها قابليت اجرا بر روي هر سيستم عاملي را دارا مي باشد بلكه براي منتقل كردن برنامه هاي آن از يك سيستم عامل به سيستم عامل ديگر احتياج بــه تغييرات اندكي خواهيد داشت و حتي در بعضي از موارد بدون احتياج به هيچ تغييري مي توانيد يك برنامه به زبان php را از يك سيستم عامل به سيستم عامل ديگر منتقل كنيد.
منظور از Html embedded بودن PHP اين است كه دستورات اين زبان در بين كدهاي html قرار مي گيرند. بنابراين برنامه نويسي به زبان PHP كمي پيچيده تر از برنامه نويسي به زبان Html به حساب مي آيد.
PHP تا چه حدي شي گرا است وآيا امکاناتي که که در زبانهاي برنامه نويسي شي گراي کاملي همچون Java وجود دارد، در PHP هم پشتيباني ميشود؟
تخريب کننده ها(Destractors):
نسخه فعلي PHP (با ZE 1) تابع تخريب کننده ندارد، بيشتر به اين خاطر است که آزاد سازي حافظه و برگرداندن حافظه تخصيص يافته دست برنامه نويس نيست. اما نسخه هاي بعدي تابع تخريب کننده را دارا مي باشد.
کپسوله سازي و کنترل دسترسي(Encapsulation):
هيچ پشتيباني از کپسوله سازي در نسخه جاري PHP به عمل نيامده و تمام مشخصه ها و رفتارها Public هستند، اما در نسخه بعدي دو نوع Private و Protected افزوده شده است.
چند شکلي(Polymorphism):
PHP چند شکلي را به اين صورت پشتيباني مي کند که اجازه ميدهد نمونه کلاس هاي فرزند به جاي نمونه کلاسهاي والد استفاده شوند .
اتصال (انقياد )دير يا زود(binding Early vs. late )
دو پاسخ مناسب به اين موضوع به قرار ذيل است:
۱) از آنجايي که PHP يک زبان Loosely Type است، اين سوال پيش مي آيد.
۲) تمام اتصالات Late هستند. در PHP مقادير داراي نوع هستند ولي متغيرها بي نوع هستند، بنابراين اين سوال که اگه نوع متغير و مقدار متفاوت باشد کدام متد فراخواني شود، به وجود نمي آيد.
توابع ايستا(Static Functions)
پشتيباني صريحي از Class Functionها وجود ندارد اما امکان دارد که با استفاده از سينتکس ()Classname::function تابع يک کلاس را فراخواني کرد. اين تابع تا زماني که به يک متغير داخلي ارجاع نکند ، به عنوان يک Class Function در نظر گرفته ميشود.
درون نگري(Introspection):
در اين مورد PHP با دست پر ظاهر شده و توابع متنوعي براي کسب اطلاعات در مورد يک کلاس وجود دارد، مثلا بازيابي نام کلاس، نام يک تابع، نام متغيرهاي(مشخصه هاي) يک نمونه کلاس و ...
مزایای PHPنسبت به ASP
1. سرعت
سرعت PHPبه مراتب قابل مقايسه با ASP نيست علتش اين است
كه Microsoft از يك Technology در اجرا كردن كدهاي زبان ASP استفاده مي كند كه در آن هر موقع شما تصميم به استفاده از يك عنصر خارجي مانند VBScript, MSSQL, ODBC و خيلي چيزهاي ديگر كه در حقيقت از Engine هاي خارجي استفاده مي كنند دستور به آن Engine خارجي مي دهد و جواب بدست آمده را بررسي و براي استفاده در اختيارادامه برنامه مي گذارد . همين رفت و برگشت و اجرا كردن Engine هاي خارجي باعث كند شدن سرويس دهي مي شود
2. استفاده بهينه از Memory
در IIS4 اگر شما در يك صفحه مثلا ۲۰ بار يك صفحه را Include كنيد اين صفحه ۲۰ بار در حافظه بارگذاري مي شود و درحقيقت حافظه شما ۲۰ برابر زيادتر اشغال مي شود . همين امر باعث كند شدن سيستم مي شود و در Load بالا مسلما مشكل زا خواهد شد .اين مشكل به طور كلي در PHP وجود نداشته و ندارد و استفاده درست از Memory در هنگام اجراي يك كد باعث شده است كه صفحات در Load بالا نيز به خوبي قابل رٶيت باشند .
3. خرج اضافي نداريم
مثلا در ASP اگر بخواهيد از امكاناتي نظير Encryption يا File Uploading يا ارسال نامه توسط كد برنامه استفاده كنيد بايد امكانات اضافي براي اين كار خريداري كنيد و نصب كنيد تا اين امكانات به IIS شما اضافه گردد . اين در حاليست كه در PHP همه اينها در هنگام Compile در نظر گرفته مي شوند و همگي از امكانات Standard اين زبان هستند و هيچ نصب يا خرج اضافي در كار نيست .
4. MySQL بهترين انتخاب، بيشترين سرعت
به خاطر قدرت خارق العاده MySQL و سازگار بودن اينDBMS با زبان PHP به صورتيكه PHP اتصال به MySQL را به صورت دستورات Internally پشتيباني مي كند و حتي نيازبه نصب Module اضافي براي اين كار نمي باشد ، از سرعت بسيار بالاﺋي در كار با SQL برخوردار است
5. نزديك بودن Syntax به ++C/C و Java
از آنجاﺋيكه اكثر برنامه نويسان از ++C/C استفاده كرده اند و بخاطر محبوب بودن بي حد Java معمولا با Syntax هاي اين دو زبان اكثرا آشنا هستند . PHP هم اكثر Syntax هاي خود را شبيه به اين زبانها انتخاب كرده است كه براي يادگيري دوباره Syntax دستورات دچار مشكل نشويد.
6. رفع ايرادات ، سريع ، بي دردسر
OpenSource بودن PHP اين امكان را به شما مي دهد كه شخصا اقدام به رفع مشكل كنيد
7. اجرا بر روي Platform هاي مختلف
يك مشكل اساسي براي ASP وجود دارد و آن اين است كهASP بدون Windows يعني هيچ ! بدليل اينكه ASP نصفي از كدها را توسط Engine هاي ويندوز اجرا مي كند كه درسيستم عامل هاي ديگر خبري از آنها نيست . لذا ASP در سيستم عاملهاي ديگر هميشه داراي ضعفهاي بزرگي است. اما PHP به دليل آنكه توسط GNU C Compiler در همه Platform ها قابل Compile شدن است و از Engine هاي خاص هيچ سيستم عاملي براي اجراي كدها استفاده نمي كند قابليت اجرا بر روي تعداد زيادي از OS ها را داراست كه اين يك مزيت براي برنامه نويس ها محسوب مي شود
تاريخچه PHP
در اين بخش ميتوانيد در مباحث مربوط به برنامه نويسي تحت وب به بحث بپردازيد
مدیران انجمن: abbas.m.k, athlon64x2, شوراي نظارت
پرش به
- بخشهاي داخلي
- ↲ اخبار و قوانين سايت
- ↲ سوالات، پيشنهادات و انتقادات
- ↲ مرکز جوامع مجازي - CentralClubs Network
- ↲ سرويس ميزباني وب - CentralClubs Hosting
- ↲ مجله الکترونيکي مرکز انجمنهاي تخصصي
- بخش تلفن همراه
- ↲ نرم افزار تلفن همراه
- ↲ Symbian App
- ↲ Android App
- ↲ Windown Phone App
- ↲ iOS App
- ↲ JAVA Mobile App
- ↲ بازيهاي تلفن همراه
- ↲ Symbian Games
- ↲ Android Games
- ↲ iOS Games
- ↲ Windows Phone Games
- ↲ JAVA Mobile Games
- ↲ گوشيهاي تلفن همراه
- ↲ Sony
- ↲ Samsung
- ↲ GLX
- ↲ Dimo
- ↲ Huawei
- ↲ Motorola
- ↲ Nokia
- ↲ گوشيهاي متفرقه
- ↲ سرگرميهاي تلفن همراه
- ↲ خدمات و سرويسهاي مخابراتي
- ↲ تازه ها و اخبار تلفن همراه
- ↲ مطالب كاربردي تلفن همراه
- ↲ متفرقه در مورد تلفن همراه
- ↲ سوالات و اشکالات تلفن همراه
- بخش كامپيوتر
- ↲ نرم افزار كامپيوتر
- ↲ گرافيک و طراحي کامپيوتري
- ↲ طراحي صفحات اينترنتي
- ↲ سوالات و اشکالات نرم افزاري
- ↲ برنامه نويسي
- ↲ C Base Programming
- ↲ Dot Net Programming
- ↲ Web Programming
- ↲ Other Programming
- ↲ Software Engineering
- ↲ Java Programming
- ↲ Database Programming
- ↲ سخت افزار كامپيوتر
- ↲ امنيت و شبكه
- ↲ امنيت
- ↲ شبکه
- ↲ تازه ها و اخبار دنياي کامپيوتر
- ↲ مطالب كاربردي كامپيوتر
- ↲ متفرقه در مورد کامپيوتر
- بخش هوا فضا
- ↲ نيروي هوايي ايران
- ↲ متفرقه درباره نیروی هوایی
- ↲ نیروی هوایی و سازندگی
- ↲ حماسه و حماسه آفرینان نيروي هوايي
- ↲ تیزپروازان در بند
- ↲ شهدا و جانباختگان نیروی هوایی
- ↲ عملیاتهاي نيروي هوايي
- ↲ دستاوردها و اخبار نيروي هوايي
- ↲ تاریخچه نیروی هوایی در ایران
- ↲ هوانيروز ايران
- ↲ حماسه و حماسه آفرينان هوانيروز
- ↲ شهدا و جانباختگان هوانيروز
- ↲ دستاوردها و اخبار هوانيروز
- ↲ هواپيماها
- ↲ هواپيماهاي نظامي
- ↲ هواپيماهاي غير نظامي
- ↲ هواپيماهاي بدون سرنشين
- ↲ بالگردها
- ↲ بالگردهاي نظامي
- ↲ بالگردهاي غير نظامي
- ↲ بالگردهاي بدون سرنشين
- ↲ اخبار بالگردها
- ↲ تسليحات هوايي
- ↲ موشكهاي هوا به هوا
- ↲ موشكهاي هوا به زمين
- ↲ موشکهاي دريايي
- ↲ موشکهاي زمين به هوا
- ↲ موشکهاي زمين به زمين
- ↲ ديگر مباحث هوانوردي
- ↲ الکترونيک هواپيمايي
- ↲ موتورهاي هوايي
- ↲ شبيه سازهاي پرواز
- ↲ گالري تصاوير هوافضا
- ↲ تصاوير هواپيماهاي جنگنده
- ↲ کليپهاي هوايي
- ↲ تصاوير هواپيماهاي بمب افکن
- ↲ تصاوير هواپيماهاي ترابري
- ↲ تصاوير هواپيماهاي مسافربري
- ↲ تصاوير هواپيماهاي شناسايي
- ↲ تصاوير بالگردهاي نظامي
- ↲ تصاوير بالگردهاي غير نظامي
- ↲ تصاوير نمايشگاههاي هوايي
- ↲ تصاوير متفرقه هوايي
- ↲ انجمن نجوم
- ↲ منظومه شمسي
- ↲ كيهانشناسي
- ↲ گالري تصاوير نجوم
- ↲ اخبار نجوم
- ↲ اخبار هوافضا و هوانوردي
- ↲ مدرسه هوانوردي
- ↲ كتابخانهي هوا فضا
- ↲ متفرقه در مورد هوا فضا
- بخش جنگ افزار
- ↲ ادوات زميني
- ↲ ادوات زرهي
- ↲ تجهيزات انفرادي
- ↲ تسليحات سنگين و توپخانهاي
- ↲ خودروهاي نظامي
- ↲ تسليحات ضد زره
- ↲ ادوات دريايي
- ↲ ناوهاي هواپيمابر
- ↲ ناوشکنها
- ↲ رزم ناوها
- ↲ ناوچهها
- ↲ زيردرياييها
- ↲ تجهيزات و تسليحات دريايي
- ↲ ساير ادوات دريايي
- ↲ گالري تجهيزات و ادوات دريايي
- ↲ اخبار ادوات دريايي
- ↲ اخبار نظامي
- ↲ گالري نظامي
- ↲ متفرقه در مورد جنگ افزار
- بخش دفاع مقدس
- ↲ حماسه دفاع مقدس
- ↲ تخريب و خنثي سازي
- بخش خودرو و وسايل نقليه
- ↲ مباحث فنی و تخصصی خودرو
- ↲ معرفي خودرو
- ↲ تازهها و اخبار خودرويي
- ↲ گالري خودرو
- ↲ متفرقه وسايل نقليه
- بخش پزشکي
- ↲ پزشكي و درمان
- ↲ پزشکي
- ↲ سوال پزشکي
- ↲ بهداشت
- ↲ بهداشت عمومي
- ↲ بهداشت مواد غذايي
- ↲ لوازم آرايشي و بهداشتي
- ↲ متفرقه در مورد پزشکي
- ↲ روانشناسي و روان پزشكي
- بخش فرهنگ، تمدن و هنر
- ↲ فرهنگي هنري
- ↲ شعر و ادبيات
- ↲ فيلم و سينما
- ↲ هنرهاي نمايشي
- ↲ فرهنگ هنرهاي نمايشي
- ↲ موسيقي
- ↲ عكس و نقاشي
- ↲ تاريخ، فرهنگ و تمدن
- ↲ تاريخ ايران
- ↲ تاريخ جهان
- ↲ فلسفه
- ↲ زبانهاي خارجي
- ↲ زبان انگليسي
- ↲ زبان اسپانيايي
- ↲ هنر آشپزي
- بخش علم، فناوري و آموزش
- ↲ انجمن علم و فناوري
- ↲ انجمن آموزش
- ↲ کتاب و فرهنگ مطالعه
- ↲ دانش عمومی
- ↲ کنکور و دانشگاه
- ↲ جامعه شناسي
- ↲ خانواده
- ↲ متفرقه جامعه شناسي
- ↲ حقوق و قضا
- ↲ علوم
- ↲ فيزيک
- ↲ شيمي
- ↲ رياضي
- ↲ متالورژي
- ↲ پليمر
- ↲ علوم کشاورزي
- ↲ گياهان زراعي و باغي
- ↲ گياهان دارويي
- ↲ طبیعت و محیط زیست
- ↲ زيست شناسي
- ↲ عمران
- ↲ بتن و سازههاي بتني
- ↲ معماري و شهرسازي
- ↲ سبکها و مشاهير معماري
- ↲ شهرسازي
- ↲ معماري داخلي
- ↲ معماري منظر
- بخش الکترونيک و رباتیک
- ↲ مفاهیم اولیه و پایه در الکترونیک
- ↲ نرم افزارهای کمکی الکترونیک
- ↲ مدارهای مجتمع
- ↲ سوالات و پرسشهای مفاهیم پایه
- ↲ مدارات ساده و آسان
- ↲ مدارهای آنالوگ و دیجیتال
- ↲ شبیه ساز و طراحی مدار
- ↲ مدارات صوتی
- ↲ مدارات، منابع تغذیه سویچینگ و اینورتوری
- ↲ مدارات مخابراتی
- ↲ میکروکنترلرهای AVR
- ↲ آموزش و مثالها AVR
- ↲ طرح آماده و کامل شده AVR
- ↲ میکروکنترلرهای ARM
- ↲ سایر میکروکنترولرها و پردازندهها
- ↲ سایر میکروکنترلرها
- ↲ مدار مجتمع برنامه پذیر FPGA
- ↲ رباتیک
- ↲ اخبار و مصاحبه ها در رباتیک
- ↲ آموزش و مقالات رباتیک
- ↲ پروژهها تکمیل شده رباتیک
- ↲ مدارها و مکانیک در رباتیک
- ↲ رباتهای پرنده
- ↲ برق و الکترونیک عمومی
- ↲ تعمیر لوازم برقی
- ↲ اخبار برق و الکترونیک
- بخش بازيهاي رايانهاي
- ↲ بازيهاي رايانهاي
- ↲ كنسولهاي بازي
- ↲ PSP
- ↲ اخبار بازيها
- بخش تجاري اقتصادي
- ↲ بخش اقتصادی و مالی
- ↲ تجارت آنلاين
- ↲ بورس
- ↲ تحلیل و سیگنال روز
- ↲ کار آفرینی
- بخشهاي متفرقه
- ↲ بخش ويژه
- ↲ ساير گفتگوها
- ↲ صندلي داغ
- ↲ اخبار و حوادث
- ↲ انجمن ورزش
- ↲ آکواريوم و ماهيهاي زينتي
- ↲ معرفي سايتها و وبلاگها
