بخشی از مقاله


مقدمه:
كمتر كاربر اينترنت را می‌توان يافت كه تاكنون با صفحاتی با پسوند PHP برخورد نكرده باشد و البته اين پسوند نامی آشنا برای طراحان و برنامه‌نويسان وب است.
پی اچ پی (PHP) يكی از محبوب‌ترين و رايج‌ترين زبان‌های برنامه‌نويسی برای ايجاد صفحات پويا در وب است و كمتر خواسته‌ای در محيط وب وجود دارد كه در PHP قادر به انجام آن نباشيم. از ايجاد يك صفحه ساده برای پردازش اطلاعات فرم‌ها، ارتباط با بانك‌های اطلاعات، كار با سوكت‌های TCP، پردازش فرمت‌های PDFوZIP و حتی تصوير بخشی از توانايی اين زبان است.

تاريخچه
پی اچ پی در سال 1994 توسط راسموس لردرف Rasmus Lerdorf و برای استفاده شخصی‌اش ايجاد شد.
او بعدها و در سال 1995 نسخه حرفه‌ای‌تر از مفسر زبان PHP به نام Version 2 PHP/FI را عرضه كرد، و در سال 97 تعداد سايت‌هايی كه از PHP استفاده می‌كردند به بيش از 50000 رسيد.
امروزه نيز ميليون‌ها سايت از آن استفاده می‌كنند. سايت‌های مشهوری چون Alltheweb و mamma از اين زبان استفاده می‌كنند و حتی Yahoo نيز در حال شروع استفاده از اين زبان برای توسعه وب سايت‌های خود است.

پی اچ پی زبانی برای همه سيستم عامل‌ها
يكی از برترين مزايای زبان PHP سازگاری آن با اكثر سيستم عامل‌ها و نرم‌افزارهای وب سرور (مانند IIS و Apache) است.
برخی از ديگر زبان‌ها و تكنولوژی‌ها مانند ASP محدود به سيستم عامل windows است و پشتيبانی از آن در ديگر سيستم عامل‌ها بسيار پرهزينه و محدود است، و برخی نيز مانند JSP مشكلاتی با برخی نرم‌افزارهای وب سرور دارد.

ساختار و امكانات پی اچ پی به شكل مستقل از سيستم عامل شكل گرفته است و اين بدان معنا است كه به طور مثال برنامه‌نويس می‌تواند اسكريپت خود را تحت سيستم عامل ويندوز نوشته و تست كند و سپس آنرا بدون تغيير به سيستم عامل يونيكس يا لينوكس انتقال دهد.
در PHP امكان استفاده از برخی از امكانات خاص سيستم عامل‌های مشهور نيز در نظر گرفته است كه برای نمونه می‌توان از پشتيبانی از تكنولوژی DCOM و يا Windows API نام برد.
نسخه‌های جديد مفسر PHP سازگار با ديگر تكنولوژی‌های خاص وبسرورها مانند ISAPI نيز می‌باشد.
بسياری از ويرايشگرهای حرفه‌ای اين زبان نيز يا رايگان هستند و يا با هزينه بسيار كم می‌توان آنها را تهيه كرد، در حالی كه ديگر تكنولوژی‌ها، مثلاً تهيه پلاتفورم‌های جاوا هزينه هنگفتی دارد.
همچنين كار حرفه‌ای با تكنولوژی.NET نيز نياز به تهيه Visual Studio.NET و پرداخت هزينه چند صد دلاری است.
PHP چيست؟

PHP يک زبان برنامه نويسی با کد باز (Open-Source) است که اگرچه در ابتدا صرفا جهت برنامه نويسی تحت وب توليد شد، امروزه کارآييهای فراوانی پيدا کرده است. PHP يک زبان تحت سرور است (Server-Side) که طبيعتا برای اجرا نياز به يک برنامه سرويس دهنده وب (Web Server) دارد.
کسانيکه مانند خود من قبلا با PERL کار کرده اند و حالا قصد دارند با PHP کار کنند، احتمالا مثل من در ابتدا به مشکلاتی بر خواهند خورد اما مطمئن باشيد که PHP را سريع خواهيد آموخت.
آنچه به نظر من از خصوصيات خوب PHP بشمار می آيد آن است که با وجود شباهت PHP با PERL، PHP پيچيدگيهای PERL را کمتر دارا می باشد. هرچند که قدرت PERL بر روی متن ها غير قابل انکار است اما فراموش نکنيد که PHP را صرفا برای محيط وب ساخته اند پس به اندازه کافی ( و حتی بيش از حد کافی ) امکانات کار با stringها را به شما ارائه خواهد کرد. فکر می کنم مقدمه چينی بيش از اين هم حوصله شما را سر می برد و هم من را از موضوع دور می کند پس بر می گرديم به PHP.

برای شروع کار با PHP چه نياز داريم؟
در سال 1994 PHP يجاد شد Rasmos Ladford ايجاد كننده اوليه آن بوده است ولی در طی زمان اين برنامه توسط ساير متخصصين و برنامه نويسان تكميل گرديده و به شكل كنونی آن در آمده است.
تا كنون چهار بار به صورت اساسی باز نويسی شده است در دی ماه 1380 تقريبا حدود پنج ميليون مورد استفاده متفاوت قرار گرفته بود و در حال حاضر نيز اين تعداد به سرعت در حال افزايش است.
PHP برنامه ای است كه محتوای آن باز بوده (OPEN SOURCE) و استفاده كنندگان از آن می توانند نحوه كار كرد و متن برنامه را مشاهده نموده و يا تغييراتی را به دلخواه انجام دهند دسترسی به اين برنامه به صورت مجانی بوده و مبلغی از بابت استفاده به كسی پرداخت نمی گردد.
PHP ابتدا به معنای صفحه اصلی شخصی (Personal Home Page) بود ولی اكنون با اعمال تغييراتی كه جهت هماهنگی با GNU انجام پذيرفته است به معنی پردازنده فوق العاده می باشد.
PHP برای اجرا نياز به يک Web-Server دارد. دم دست ترين Web-Server برای شما احتمالا IIS خواهد بود، چرا که با استفاده از سی دی Windows قابل نصب است.
شايد بهتر باشد از Apache به عنوان Web-Server استفاده کنند. (البته اگر از حق هم نگذريم Apache خيلی از IISبهتره!!!)
اگر Web-Server مورد علاقه شما به درستی بر روی دستگاه شما نصب شده است، حالا نياز داريد که PHP را بر روی آن نصب کنيد. برای بدست آوردن کد PHP از آدرس http://www.php.net/downloads.php استفاده کنيد.
طبيعتا برای مشاهده نتيجه اجرای فايلهای PHP نياز به يک مرورگر وب (Web Browser) داريد که مسلما رايجترين آن Internet Explorer است.
برای درست کردن هر فايل PHP هم نياز به يک ويرايشگر ساده متنی داريد (مثلا Word pad يا Note pad ) توجه کنيد که از ويرايشگرهای حرفه ای مانند Microsoft Word نمی توانيد استفاده کنيد زيرا اين ويرايشگرها از کاراکترهای پنهانی فراوانی استفاده می کنند که در هنگام ذخيره فايل متنی اين کاراکترها هم ذخيره خواهند شد که باعث عدم اجرای دستورات PHP می شوند.
پی اچ پی چگونه كار می‌كند؟

نوشتن يك برنامه پی اچ پی شبيه ايجاد يك صفحه HTML است و تنها با اين تفاوت كه كدهای اين زبان در داخل صفحات و دربين كدهای HTML درج می‌شود و البته طبيعی است كه يك فايل پی اچ پی می‌تواند تنها شامل كدهای PHP باشد.
با توجه به اين كه PHP يك زبان طرف سرويس‌دهنده است، و بنابراين برای اجرا، اسكريپت‌های آن بايد آنها را به كامپيوتر سرويس‌دهنده وب (مانند سيستم Windows 2000 و نرم‌افزار IIS) انتقال دهيم و حالا با تايپ نام فايل آن در گردشگر اينترنت می‌توانيم آنرا اجرا و خروجی احتمالی را مشاهده كنيم.
طبيعی است كه در سمت سرويس‌گيرنده (كاربر سايت)امكان مشاهده كدها وجود ندارد.
پس از درخواست برای اجرای يك اسكريپت PHP فايل حاوی كدهای PHP به برنامه مفسر PHP انتقال داده شده(معمولا php.exe) و اين برنامه بعد از تفسير واجرای اسكريپت ،نتيجه را به سمت كاربر می‌فرستد.
در زير نمونه‌ای از يك اسكريت ساده PHP درج شده است. اين برنامه پيغام ارسالی
توسط كاربر را می‌گيرد (اين پارامتر می‌تواند توسط يك فرم يا در نوار آدرس گردشگر اينترنت تايپ شود) و آن را در قالب HTML برای كاربر ارسال می‌كند.

كد HTMLنتيجه حاصل كه كاربر امكان مشاهد آنرا دارد
http://www.mysite.com/test.php?message=hello اسكريت PHP كه در سمت سرويس دهنده اجرا می‌شود

<HTML>
<BODY>
hello
</BODY>
</HTML> <HTML>
<BODY>
<?php
echo $_GET['message'];?>
</BODY>
</HTML>

سرعت بالای تفسير و اجرای PHP
پی اچ پی يكی از سريع‌ترين زبان‌ها در نوع خود است. تفسير و اجرای يك اسكريپ php به طور متوسط تا سه و چهار برابر يك اسكريپ ASP است. (البته بايد در نظر داشته باشيم كه IIS با Cach اسكريپت‌های ASP سرعت اجرای آنها را در دفعات بعد بالا می‌برد)
همچنين در ASP استفاده زيادی از اشيا COM می‌شود كه باعث كاهش سرعت و مصرف منابع سيستم می‌شود در حالی كه در PHP بسياری از امكانات و حتی برقراری ارتباط با يكی محبوب‌ترين نرم‌افزار مديريت بانك‌های اطلاعاتی (mySql به صورت توكار نهاده شده است.


شركت Zend كه تهيه كننده فعلی موتور مفسر و پشتيبانی كننده آن است، محصولات ديگری را نيز در جهت بهينه كردن سرعت اجرای PHP ارائه كرده است اين محصولات با افزايش سرعت تفسير و همچنين ذخيره كردن نتيجه تفسير (Cash) باعث افزايش چندين برابر اجرای آن می‌شوند.

ساختار مناسب و امكانات بالا در PHP
كمتر نيازی در برنامه‌نويسی تحت وب وجود دارد كه در PHP امكان رفع آن نباشد.
پی اچ پی شامل كتابخانه‌ای غنی از توابعی است كه امكان پردازش اطلاعات فرم‌ها، كار با بانك‌های اطلاعاتی، فايل‌های متنی و باينری، فايل‌های گرافيكی، PDF ، ZIP و پروتكل‌های TCP ، FTP ، DNS ،SMTP و... را برای برنامه‌نويس فراهم می‌كند، اين را مقايسه كنيد با ASP كه به طور مستقل امكان Upload File ،ارسال ايميل يا كار با فايل‌های باينری را ندارد.
همچنين PHP يكی از بهترين پشتيبانی‌ها را از نرم‌افزارهای بانك اطلاعات دارد. mySql,Sql Server,mSql,dBase,Oracle,IBM DB2,PostgreSQL,InterBase و بسياری از نرم‌افزارهای ديگر در پی اچ پی قابل استفاده هستند و البته امكان كار با ODBC و COM برا ی استفاده از بانك‌های Ms Access و ديگرمحصولات نيز هست.

قدرت زبان پی اچ پی تنها در كتابخانه توابع آن نيست، پشتيبانی بسيار خوب از برنامه‌نويسی شیءگرا (OOP) و كار آسان و سريع با متغيرها از مزايای دورنی اين زبان است.
معايب
نحو (syntax) زبان PHP بسيار شبيه زبان C++ و Perl است. اين اگر چه باعث استقبال از اين زبان توسط برنامه‌نويسان C و يا Perl شد، اما اين نحو برای بسياری از طراحان صفحات وب چندان آسان نيست و بسياری معتقد هستند كه تكنولوژی ASP و زبان VBScript آسانتر و قابل درك‌تر است و همچنين JSP و زبان جاوا نيز به دليل محبوبيت و ساختار قدرتمند آن مورد توجه است.
يك اشكال ديگر PHP عدم پشتيبانی خوب آن از يونيكد و به خصوص زبان فارسی است، حتی آخرين نسخه‌های اين زبان نيز امكان سورت(Sort) صحيح متون فارسی را ندارد. البته اين اشكال با كامپايل مجدد يا كمی برنامه‌نويسی قابل حل است.
توضيحات برنامه نويس در حين برنامه نويسی (Comments )
مانند تمام زبانهای برنامه نویسی ديگر، می توانید توضيحات خود را برای آسان کردن رجوع های بعدی در PHP داشته باشيد. به اين منظور می توانيد از // يا # برای بازداشتن PHP از انجام پردازش بر روی متن روبروی آن استفاده کنید. اگر می خواهيد بيش از يک خط را زير پوشش Comment خود قرار دهيد، آن را در بين علامتهای /* */ قرار دهيد.


عملگرهای رياضی در PHP
عملگرهای رياضی در PHP طبق جدول زير می باشند.
مثال نام عملگر
$a + $b جمع +
$a - $b تفريق -
$a * $b ضرب *
$a / $b تقسيم /
$a % $b باقيمانده %

توجه: همانند زبانهايی مانند C در اينجا هم می توانيم از عملگرهای پيشوندی مانند $a+=$b یا $a++ استفاده نماييم.

عملگرهای رشته ای در PHP
يک عملگر رشته ای مهم در PHP وجود دارد و آن نقطه (.) می باشد. اين عملگر باعث به هم چسبيدن دو رشته مجزا می گردد.
توجه: از عبارت.= می توانيد استفاده نماييد.

متغيرها در PHP
در زبان PHP بايد قبل از هر متغير يک علامت $ قرار دهيد. در واقع PHP از روی علامت $ تشخيص می دهد که متغيرهای برنامه شما کدامند.
اگر تاکنون با زبانهای برنامه نويسی مانند C، C++، Pascal و مانند اينها کار می کرده ايد، احتمالا انتظار داريد انواع مختلف متغيرها اعم از Integer، Real، Float و غيره را برايتان معرفی کنم. اما احتمالا خوشحال خواهيد شد که بدانيد نوع متغيرها برای PHP اهميت ندارد. کافيست متغيری را نامگذاری کنيد و سپس هر مقدار، از هر نوع و به هر اندازه که می خواهيد در آن قرار دهيد. سوالی که پيش خواهد آمد احتمالا "نحوه عمل PHP با اين متغيرهای همه منظوره" است.

توجه شما را به دو نکته جلب کنم:
1- متغيرها در PHP نسبت به کوچکی و بزرگی حساسيت دارند (Case Sensitive ). يعنی به عنوان مثال متغيرهای my_var و My_Var و MY_VAR از نظر زبان PHP با هم متفاوت هستند.
2- متغيرها می توانند نامهايی با حروف کوچک و بزرگ انگليسی و همينطور Underscore (خط فاصله پيين) را اخذ نمايند.
استفاده از اعداد به شرطيکه اولين حرف متغير نباشند نيز مجاز است. (يعنی مثلا $s12 و $S_1 به عنوان نام متغير مجاز است اما $1s2 مجاز نمی باشد.) به شما به عنوان يک برنامه نويس که به تازگی شروع به کار با PHP نموده است پيشنهاد می کنم که از استفاده از Underscoreها نيز در ابتدای نام متغيرهای خود اجتناب ورزيد.

بعدها خواهيم ديد که بسياری از متغیرهايی که PHP خود از آنها استفاده می کند دارای Underscore در ابتدايشان می باشد.
در صورتیکه عددی را بصورت عادی و بدون علامت نقل قول (" ") به يک متغیر نسبت می دهيم، PHP می تواند با آن هم بصورت عدد و هم بصورت رشته برخورد نمايد.
در صورتيکه يک مقدار را در داخل " " قرار دهيم، اگر در ابتدای آن يک عدد وجود داشته باشد، PHP می تواند در مقابل عملگرهای رياضی با آن عددها همچون اعداد عادی برخورد نمايد و در مقابل عملگرهای رشته ای به عنوان رشته.

مزايا و معايب HTML و Flash
اگر سايت به صورت HTML (همانند اين صفحه) نوشته شود، حين خوانده شدن توسط بازديدكنندگان به سرعت بسيار بالاتری نسبت به نوع FLASH آن مشاهده می شود به لحاظ سرعت پائين اينترنت در ايران (شايد شما دارای اينترنتی با سرعت بسيار بالا داشته باشيد ليكن به اين نكته توجه فرمائيد كه شما سايت را برای سايرين ارائه می كنيد نه خودتان) ما اين نوع سايت را توصيه می كنیم. موتورهای جستجوگر نظير google و yahoo و altavista و teoma alltheweb netscape yahoo search... به راحتی می توانند محتويات سايت شما را بخوانند كه اين امر نيز يك نكته مثبت برای نوع HTML می باشد. اين نوع قابليت تغيير بسيار بالا و آسانی دارد كه اين امر نيز يك نكته مثبت برای آن محسوب می شود.

از طرفی HTML دارای معايبی نيز می باشد. بازديد كننده به راحتی می تواند مطالب و تصاوير و حتی نوع طراحی سايت شما را ذخيره نماید. لذا اگر تصويری را كه مايل نيستيد بدون اجازه شما به سرقت برود ميتوانيد آنرا به صورت Flash در سايت قرار دهید بدين ترتيب بازديد كننده نمی تواند خود تصوير را ذخيره نمايد بلكه در صورت وقوف كافی به HTML تمامی Flash كه ساير افكتها و نيز آرم و آدرس سايت شما هست را ذخيره و يا استفاده نمايد.
: Php قابليتهاي
بزرگترين رقبای PHP در حال حاضر Perl, Microsoft Active Server Pages (ASP), Java Server Pages (JSP), Allaire Cold Fusion می باشد.
در مقايسه با محصولات مذكور PHP دارای مزايای قابليت های
ويژه زير است :
كارايی بسيار بالا
PHP بسيار كاراست به نحوی كه با استفاده از يك سرور ارزان قيمت می توانيد روزانه به ميليونها مراجعه كننده خدمت ارائه كنيد.

با استفاده از ملاكهای ارائه شده توسط Zend Technologies ارائه شده است ( http://www.zend.com/ ) به لحاظ كارايی PHP رقبای خود را بسيار زياد پشت سر گذاشته است.
قابليت اتصال به تعداد زياد و متفاوت بانكهای اطلاعاتی
PHP به بانكهای متفاوتی قابليت اتصال دارد علاوه بر MySQL به بانكهای اطلاعاتی PostgreSQL, mSQL, Oracle dbm, filePro, Hyperware, Interbase, Sybase نيز قابليتهای اتصال را دارا می باشد
شما می توانيد به هر سيستم عاملی كه ODBC را ارائه می دهد PHP را برای آن بانك استفاده نماييد. كه سيستم عامل ويندوز و نيز محصولات آن نيز در اين دسته است.

دارا بودن دستورات غنی برای استفاده های لازم در سايتها
به دليل اين كه PHP برای استفاده سايتها طراحی و نوشته شده است برای كاربردهای متفاوت كه در سايتها مورد نياز می باشد توابع بسيار غنی در آن موجود می باشد. با چند دستور كوتاه می توان عكسی را با فرمت GIF و یا PNG رسم نمود يا اينكه به شبكه ديگری وصل شده و يا ايميل های متعددی را ارسال نمود و با Cookies كار كرده و يا فايلهای PDF ايجاد نمود.
هزينه تامين و نگهداری بسيار پايين برای اين برنامه
PHP به صورت مجانی ارائه می شود و در سایت
http://www.torkiye.com/redirect.php?http://www.php.net
آخرین نسخه آن قابل داونلود می باشد.

سهولت استفاده و آموزش آن
نحوه نگارش و دستورات PHP تشابهات بسيار زيادی با زبان C و Perl دارد. اگر با زبانهای C ویا Perl یا C++, Java آشنائی داشته باشيد به راحتی می توانيد PHP را فراگيريد.

قابليت تغيير و حمل آن
PHP با سيستمهای عامل متعددی سازگار است. سيستمهای عامل مجانی مشابه Unix مانند Linux و FreeBDS و سيتمهای تجاری مشابه Unix مانند Solaris و IRIX و نيز با سيستم عامل Microsoft Windows سازگاری دارد. جالب اينجاست كه در اغلب موارد بدون نياز به تغيير در متن برنامه ميتوانيد آن را در تمامی سيستمهای عامل مورد استفاده قرار دهيد.

ارائه شدن متن برنامه
متن كامل برنامه در اختيار تمامی مصرف كنندگان PHP قرار گرفته است و آنان نيز می توانند تغييرات مورد نياز خويش را در آن اعمال نمايند و لزومی جهت تماس با شركت توليد كننده آن وجود ندارد.

MySQL چيست؟
MySQL بانك اطلاعاتی بسيار سريع و امن RDBMS است. يك بانك اطلاعاتی هرگونه داده را ذخيره نموده و قابليت جستجو و فراخوانی اطلاعات را به كاربران ارئه می كند. MySQL قابليت آن را دارد كه همزمان به چندين كاربر اجازه كاربا سرعت زياد دهد. همچنين قادر است به كاربران مجاز و يا غير مجاز اجازه استفاده از منابع متفاوت را ارئه دهد. بدين دليل MySQL بانك اطلاعاتی با كاربران زياد و كانالهای متفاوت می باشد. MySQL زبان استاندارد جهانی بانكهای اطلاعاتی ( SQL ( Structured Query Language را به كار می گيرد. به رغم استفاده از MySQL در سال 1375 كار بر روی آن از سال 1358 شروع شده است.
سرعت بالای MySQL در مقايسه با رقيبانش غير قابل انكار می باشد. ساير مزايای MySQL مشابه مزايای PHP می باشد. كه ذكر گرديده است.

آموزش برنامه نويسي شيء گرا با PHP
كلاسها (Classes)
يك كلاس تعريف يا نماي يك نوع خاص داده است و كلاسها به عنوان روشي براي حالت دادن به تمام انواع متفاوت اشياء و سيستم شما عمل مي‌كنند. هنگامي‌كه مي‌خواهيم يك شيء جديد را تعريف كنيم ، ابتدا از كلمه كليدي class براي تعريف آن ، پيش از استفاده از آن در اسكريپت‌هاي PHP خود استفاده مي‌كنيم. تفاوت واضح يك كلاس و يك شيء اين است كه كلاس‌ها اشيايي را تعريف مي‌كنند كه در برنامه‌هايمان به كار مي‌بريم. پيش از آن كه درباره روش ساخت يك كلاس صحبت كنيم ، مي‌خواهيم شروع به تأمل كنيد كه يك كلاس نمايشي از يك ايده است. مهم است كه هنگامي‌كه كلاس‌هاي خودتان را طراحي مي‌كنيد. آنها يك هدف را دنبال كنند و تمامي‌رفتاري را كه از آن ايده انتظار مي‌رفت را فراهم كنند.

يك كلاس در PHP حاوي سه كامپوننت اصلي است : members (اعضاء) كه به آنها به عنوان داده يا صفت اشاره مي‌شود) متدها ، و Consructor يك عضو members تكه‌اي از داده است كه شيء در بر دارد. اشياء مي‌توانند هر تعداد عضو داشته باشند. براي مثال ، اگر قرار باشد اتومبيل را با استفاده از يك كلاس طراحي كنيم ، يك چرخ در حال دوران يا گيربكس بايد به عنوان يك عضو از ماشين تعريف شوند.
متدها سرويس‌هايي هستند كه شيء براي سرويس گيرنده‌هايش فراهم مي‌كند كه از اعضا داخلي آن استفاده مي‌كنند و آنها را دستكاري مي‌كنند. براي مثال ، اگر قرار باشد اتومبيل را با استفاده از يك كلاس طراحي كنيم ، يك چرخ در حال دوران يا گيربكس بايد به عنوان يك عضو از ماشين تعريف شوند.

متدها سرويس‌هايي هستند كه شيء براي سرويس گيرنده‌هايش فراهم مي‌كند كه از اعضا داخلي آن استفاده مي‌كنند و آنها را دستكاري مي‌كنند. براي مثال ، يك كلاس car مي‌تواند يك متد را براي روشن كردن وسيله نقله و استفاده از چرخ در حال دوران در داخل آن فراهم كند.
يك Constructor متد خاصي است كه شيء را درون وضعيت آماده آن معرفي مي‌:ند. تنها يك Constructor براي يك شيء در PHP مي‌تواند موجود باشد. در يك كلاس car ، افزودن بدنه ، موتور ، لاستيك‌ها ، گيربكس ، صندلي و غيره بر روي car با هم متفاوتند. هنگامي‌كه سرويس گيرنده‌ها مي‌خواهند از متدهاي روي يك شيء استفاده كنند ، Constructor اطمينان مي‌دهد كه هر متد عمليات را با موفقيت به انجام خواهد رساند و نتيجه مورد انتظار را برخواهد گرداند. براي مثال ، براي روشن كردن راديو درون اتومبيل شما ، بايد يك راديو نصب شده‌ باشد. در اين نمونه ، Constructor مسئول اطمينان بخشيدن از اين موضوع است كه راديو پيش از استفاده نصب شده است.

به غير از مقدار دهي شيء به يك وضعيت آماده معتبر ، تفاوت اساسي ديگر اين است كه يك Constructor هيچ مقدار برگشتي صريحي ندارد. تمامي‌Constructor ها يك متغير جديداً اختصاص يافته را براي استفاده در برنامه شما بر مي‌گردانند.
در نتيجه ، برگرداندن يك مقدار در Constructor كلاس ، غيرقانوني است. درباره استفاده از اشياء در برنامه‌هاي شما ، در بخش بعدي بيشتر صحبت خواهيم كرد. اطمينان يافتن از طراحي مناسب اشياء و Constructor هاي آنها ، مسئله‌اي است كه توسعه دهندگان زيادي اغلب با آن روبرو مي‌شوند. هنگامي‌كه كلاس برنامه‌نويسان را وادار مي‌كند كه اعضاي شيء را پيش از استفاده از متدهاي خود تنظيم كنند يا هنگامي‌كه كلاس برنامه‌نويس را وادار مي‌كند تا از ترتيب خاصي ، هنگام فراخواني متدهاي شيء پيروي كند ، كد گيج كننده و مبهمي‌را ايجاد مي‌كند. از OPP به اين منظور استفاده مي‌كنيم كه به طور كلي از بروز چنين مسئله‌اي جلوگيري كنيم. اگر كلاس مهندسي شده است تا از Constructor هاي خود براي معرفي بخشهاي كليدي كلاس استفاده نكند ، اشكال از طراحي ضعيف ناشي مي‌گردد. دوباره در همان تله گرفتار نشويد.
نحوه ساخت ، بارگذاری و اجرای يک فايل PHP چگونه از PHP و HTML در يک صفحه استفاده کنيم چگونه کدها را با استفاده از کامنتهای برنامه نويسی قابل فهم تر کنيم

برای شروع يک TextEditor رو باز کنيد. php هم مانند html مبتنی بر متن ساده است بنابراين از هر اديتوری ميشود برای ساخت فايل php استفاده کرد. مثلا Notepad
در صورتيکه php روی کامپيوتر خود نصب کرده ايد ، فايل رو در وب سرور خود کپی کنيد و آن را از طريق browser صدا کنيد. و يا اينکه فايل رو در يک سايت با دسترسی PHP بارگذاری نماييد و آدرس آن را در browser تايپ کنيد.
در صورتيکه کدها خود را يعنی همان چيزی که در اديتور تايپ کرديد رو روی صفحه ديديد. اين بدان معنی است که وب سرور شما فايل php رو اجرا نکرده (يا php بر روی آن نصب نيست و يا پسوند فايل رو به درستی انتخاب نکرده ايد.)

دستور Print
اين دستور در واقع نمايش دهنده است و هر چيزی که به آن بدهيد را بر روی صفحه نمايش می دهد.
شما می توانيد مقدار يک متغير را نيز با استفاده از Print نمايش دهيد.
ترکيب PHP و HTML در يک صفحه
کدهای HTML به راحتی می توانند در کنار کدهای PHP کار کنند. در واقع سرور قبل از رسيدن به کد <?php همه کدها رو html فرض کرده و کدهای در داخل <?,?>
را به عنوان کد php می شناسد و بر روی آنها عمليات انجام می دهد.

گذاشتن Comment در ميان کدها
comment در واقع جملاتی است که نویسنده برنامه در میان کدها می نویسد تا توضيحاتی باشد بر کد. به اين صورت که اگه دفعه بعد خود نويسنده و يا کس ديگری کدها رو ديد ، متوجه بشود که هر دستور برای چه چيزی نوشته شده است. (توصيه می کنم هميشه از comment استفاده کنيد)
نحوه قراردادن commentهم به اين صورت است که در اول خط از تگ // استفاىه كنيد.
درباره متغيرها ( متغير چيست و چگونه از آن استفاده کنيم)
چگونه يک متغير را تعريف کنيم و به مقدار آن دسترسی پيدا کنيم

برخی از علمگرهای متداول
چگونگی تعريف و استفاده از مقادير ثابت
متغير نگهدارنده ويژه ایست برای مقادير. هر متغير دارای يک نام است که با علامت $ در اول آن مشخص می شود. نام يک متغير می تواند شامل حروف ، اعداد و _ باشد. نام يک متغير نمی تواند شامل space و يا کارکاترهای غير حرفی باشد.
توجه داشته باشيد که ; در انتهای هر خط جزونام متغير می باشد و در واقع نشان دهنده پايان جمله کد PHP است.
برای مقدار دادن به متغير کافيست که آن را مساوی با مقدارش قرار دهيد. به طور معمول شما در يک دستور php متغير را تعريف می کنيد و به آن مقدار می دهيد.

نوع داده داخل متغير DATA TYPE
انواع مختلف اطلاعات در يک متغير می تواند ذخيره شود که در طول برنامه می توانيد رفتارهای متفاوتی با آن نماببد.
برخی زبانهای برنامه نويسی شما را وادار می کنند که در ابتدا و در موقع تعريف متغير نوع آن را نيز مشخص نماييد.
ولی در PHP لزومی به اين کار نيست و نوع اولين مقداری که وارد متغير شود ، به عنوان نوع متغير شناخته می شود.

Type - Example - Description
Integer - 5 - A whole number
Double - 3.234 - A floating-point number
String - "hello" - A collection of characters
Boolean - true - One of the special values true or false

آرايه و OBJECT

جدول فوق انواع داده ها را نشان می دهد.
شما می توانيد از دستور ()gettype برای مشاهده نوع يک متغير استفاده کنيد.

INTEGER يک عدد صحيح می باشد. به کلام ساده يک عدد بدون مميز می باشد. STRING يک سری کاراکتر می باشد. وقتی در PHP با STRING کار می کنيد بايد حتما اطراف آن از " و يا ' استفاده شود.
DOUBLE يک عددی است که مميز نيز دارد.
BOOLEAN يا TRUE است و يا FALSE.
تغيير با استفاده از دستور() settype
در PHP با استفاده از دستور settype() شما می توانيد نوع يک متغير را تغيير دهيد. برای اين کار بايد نام متغير و نوع متغير که می خواهيد به آن تغيير يابد را در بين پرانتز و با فاصله يک کاما در بينشان مشخص نماييد.

تغيير نوع داده بدون اينکه اصل متغير تغيير کند
با قرار دادن نام نوع داده Data Type در داخل پرانتز و قبل از نام متغير يک کپی از متغير با نوع داده جديد بدون تغيير دادن متغير اصلی ايجاد می کند.

توابع (Functions)
توابع قلب يک کد درست طراحی شده است و باعث می شوند کدها خوانا تر شوند و بتوان دوباره از آنها استفاده نمود. هيچ پروژه بزرگی بدون استفاده از تابع نمی تواند انجام شود.
چگونه يک تابع را معرفی کنيم و از آن استفاده کنيم.
چگونه مقدار ي به تابع ارسال کنيم و از آنها مقادير را بازخوانی کنيم.
چگونه توابع با صورت دايناميک استفاده کنيم.
چگونه به متغيرهای Global در توابع دسترسی پيدا کنيم.
چگونه به يک تابع حافظه دهيم.

تابع چيست ؟
شما می توانيد تابع را يک ماشين در نظر بگيريد. يک ماشين مواد اوليه را از شما می گيرد و بر روی آنها عمليات از پيش تعيين شده را انجام می دهد و در نهايت به شما محصولی را می دهد.
تابع مقادير را از شما دريافت می کند ، بر روی آنها عمليات انجام می دهد و در نهايت کاری که می خواهيد با آن انجام می دهد و نتيجه را برای شما بر می گرداند.
اگر شما نياز به درست کردن يک کيک داشته باشيد مسلما خودتان آن را درست می کنید. ولی اگه 1000 کیک بخواهید درست کنيد مطمئنا ماشينی طراحی می کنيد که برای شما کيک درست کند.
در موقع نوشتن تابع هم هميشه بايد اين مورد مدنظرتان باشد که طوری تابع را بنويسيد که بتوان از آن بارها استفاده کرد.
تابع در خود کدهايی را جای می دهد که شما هر وقت به آن نياز داريد آن تابع را صدا می کنيد مقادير اوليه را به آن می دهيد و تابع جواب را برای شما برمی گرداند.

فراخوانی تابع
دو مدل تابع وجود دارد. اولی توابعی هستند که درون خود php هستند و ديگری توابعی است که شما می نويسيد.
يکی از ابتدايی ترين توابعی که در خود php هستند تابع print است.
در جلو تمامی توابع حتما بايد () پرانتزها باشند ، البته print يک استثنا است که بدون پرانتز هم کار می کند

تعريف يک تابع
شما می توانيد تابع را با استفاده از دستور Function تعريف نماييد.
نام تابع درست بعد از دستور Function می آيد و بلافاصله بعد از آن پرانتزها قرار می گيرند. اگر تابع شما Argument احتياج دارد ، شما بايد متغيرهای مورد نياز را (که به وسيله کاما از هم جدا شده اند) را داخل پرانتز بنويسيد. اگر تابع شما به Argument احتياجی ندارد داخل پرانتز چيزی ننويسيد.
شما می توانيد از داخل تابع با استفاده از دستور Return مقداری را برگردانيد. دستور return عمليات تابع را متوقف می نمايد و مقدار گفته شده را بر می گرداند.

صدا کردن يک Function به صورت دايناميک
اين امکان وجود داره که شما اسم تابع يک String يا يک متغير بگذاريد. و برای صد ا کردنش از اون استفاده کنيد.
متغير ها در داخل تابع
متغیرهايی که داخل يک تابع تعريف می شوند ، فقط در داخل همون تابع قابل دسترسی هستند.
يعنی اون متغير ها بيرون تابع يا در تابع های ديگر در دسترس نيستند. در پروژهای بزرگ اين امکان خيلی به شما کمک می کند.
چون شما می توانيد از اسم های تکراری برای متغيرهايتان در تابع های مختلف استفاده کنيد بدون اينکه دخالتی در يکديگر داشته باشند.

استفاده از متغير به صورت Global (يعنی داخل و خارج
تابع ها)
به صورت Default متغيرهای تعريف شده بيرون يک تابع ،داخل تابع در دسترس نيست.
. در برخی موارد ما نياز به استفاده از متغيرهای بيرون تابع داخل يک تابع داريم. برای اين کار کافيه که از دستور Global استفاده کنيم.
شما بايد برای هر متغيری که می خواهيد ازش در تابع استفاده کنيد از اين دستور استفاده کنيد. و همچنين در هر تابعی که می خواهيد از متغيری خارج از آن تابع استفاده کند بايد از اين دستور استفاده شود.
مهم : دقت کنيد که اگه $life داخل تابع تغيير دهيد مقدار $life در کل برنامه عوض می‌شود.

FLASH:
Flash يكي از فرمتهاي محبوب وب است و به راحتي مي‌توان براي ساخت Interfaceها در برنامه از آن استفاده كرد. بعضي از برنامه نويسان معتقدند استفاده از Flash سبب سنگين شدن برنامه، وابستگي برنامه به ActiveX فلش، امكان نداشتن تبادل اطلاعات بين Flash و دلفي و مشكلات ديگري مي‌شود.

نصب ActiveX فلش
براي نصب ActiveX فلش به Component>Import ActiveX Control برويد. در ليست مربوطه به دنبال Shockwave Flash بگرديد. در صورتي كه آن را پيدا نكرديد. دكمه Add را زده و به آدرس زير برويد:
WIN_DIRECTORY\System32\Macromed\Flash
و فايل Flash.ocx را انتخاب كنيد و سپس Install را بزنيد.
خوب... تا به اينجا كار نصب اكتيوايكس فلش تمام است. كمپوننت مربوطه را ميتوانيد در پالت ActiveX پيدا كنيد.
نكته: در صورتي كه شاخه مذكور در كامپيوتر شما وجود ندارد، احتمالا شما Flash Player را نصب نكرده‌ايد

استفاده از اكتيوايكس فلش
اكتيوايكس فلش را مي‌توانيد در پالت ActiveX پيدا كنيد. آن را روي فرمتان قرار دهيد. از پراپرتيMovie ميتوانيد براي Load كردن فايل SWF خود استفاده كنيد.
نصب اكتيوايكس فلش روي كامپيوتر كاربر
براي اين كه كاربر نهايي بتواند از برنامه شما استفاده كند بايد اكتيوايكس فلش را داشته باشد. در واقع شما بايد اكتيوايكس مربوطه را براي او نصب كند. روش كار به اين گونه است كه شما بايد چك كنيد كه آيا كاربر نهايي اكتيوايكس فلش را بر روي دستگاه خود نصب كرده است يا نه و در صورتي كه وي اين اكتيوايكس را ندارد برنامه شما بايد به طور اتوماتيك آن را نصب كنيد.براي پياده سازي اين روش ما بايد در ابتدا OCX فلش را با استفاده از Resourceها در فايل Exe خود مخلوط كنيم.

Resize شدن درست
يكي از مشكلاتي كه ممكن است با اكتيو ايكس فلش پيدا كنيد مشكل Resize شدن است. همه ما مي‌دانيم كه يكي از مهمترين مزاياي فلش برداري بودن آن است و اين برداري بودن سبب مي‌شود كه فايل فلش بتواند در هر اندازه به درستي نشان داده شود. ولي متاسفانه فرم خود را در RunTime تغييراندازه مي‌دهيد فايل Flash تغيير اندازه نمي‌يابد. در اين جا يك راه حل ساده براي حل اين مشكل بيان شده كه به خوبي كار ميكند. كافي است كمپوننت فلش را در يك پانل قرار دهيد و پراپرتي Align آن را برابر alClient بگذاريد. حالا پراپرتي Anchor پانل خود را به گونه‌اي تنظيم كنيد كه مايل هستيد كمپوننت فلش Resize شود.
غيرفعال كردن كليك سمت راست

مساله ديگرى كه ذهن بسيارى از برنامه‌نويسان را مشغول مى‌كند منوى Popup فلش است. غيرفعال كردن اين منو بسيار ساده است. كافي است يك كمپوننت TApplicationEvents را روي فرم خود قرار دهيد و كد زير را در اونت OnMessage اين كمپوننت بنويسيد:
if (Msg.message = WM_RBUTTONDOWN) and (Msg.hwnd := FlashOCX) thenbegin
PopupMenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);
Handled := True;
end;
ارتباط بين Flash و دلفى

يكى از مسائل بسيار مهم و اساسى ديگر برقرارى ارتباط بين Flash و دلفي است. فرض كنيد در فايل SWF خود چند Button داشته باشيد و بخواهيد وقتى كاربر روى هر كدام از اين اونتها كليك كرد فرم خاصى باز شود.
در اين صورت چه بايد بكنيد. پياده سازى اين كار بسيار ساده است. كافى است در Flash براى هر كدام از دكمه‌هاى خود يك Action تعريف كنيد و از دستور FSCommand استفاده نماييد.
از يك مقدار دلخواه مثل fMatn يا fSearch استفاده كنيد و در دلفى نيز از اونت OnFSCommand به صورت زير استفاده كنيد:
if command = 'fMain' then fMain.ShowModal;
if command = 'fSearch' then fSearch.ShowModal;

مقدمه
فتوشاپ يکی از نرم افزارهای گرافيکی است که اساس کار آن بر پايه ی Bitmap می باشد. نرم افزار فتوشاپ متعلق به شرکت Adobe بوده و برای ويرايش تصاوير ، طراحی موارد گرافيکی چاپی يا غير چاپی و... مورد استفاده ی کاربران قرار می گيرد.
ضمن اينکه اين نرم افزار با چاپگرها و دستگاههای خروجی فيلم و زينک بصورت استاندارد هماهنگی دارد.
برای مطالعه ی اين دوره ی آموزشی نياز است کاربران محترم آشنايی با سيستم عامل ويندوز داشته باشند.
ضمنا سيستم شما بايد دارای مشخصات سخت افزاری ذيل باشد :

- حداقل سيستم مورد نياز پنتيوم 233
- - 16 مگابايت Ram
- - حدود 600 مگا بايت فضای آزاد
- - کارت گرافيکی 64 گيگا بايت
حالتها و مدهاي رنگ :
مدلهاي رنگ به صورت زير مي‌باشد :

مدل RGB :
مدل رنگ RGB - Red, Green , Blue- كه در مانيتور ها و تلويزيون براي نمايش رنگها مورد استفاده قرار مي‌گيرد. مقادير هر يك از رنگهاي اصلي RGB با عددي بين (255-0) نشان داده می شود. براي ايجاد رنگ سفيد خالص مقادير رنگهاي اصلي RGB معادل 255 مي‌باشد و براي ایجاد رنگ سياه خالص مقادير رنگ هاي اصلي RGB معادل صفر مي‌شود.
مدل CMYK :
مدل رنگ CMYK معمولا براي چاپ مورد استفاده قرار مي‌گيرد. در اين مدل رنگها بر حسب درصد بيان مي‌شوند.
(Cyan – Magenta – Yellow - Black) اين چهاررنگ بعنوان جوهر چاپ مورد استفاده قرار مي‌گيرند.
محدودة رنگي هر يك از ، (0 تا 100 ) تعریف می شود.
مدل Grayscale :
در اين مدل تصاوير به صورت سياه و سفيد مي‌باشند و در پنجره كانالهاي فقط يك كانال Black مشاهده مي‌شود. در اين حالت طيف رنگي از سفيد تا سياه مي‌باشد (سفيد – خاكستري – سياه ) و محدودة رنگي آن صفر تا 255 مي‌باشد بنابراين بهتر است كه براي كارهاي تك رنگ مديا حالت رنگي را روي Grayscale تنظيم نماييم.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید