برگزیده های پرشین تولز

فراگیری آسان زبان PHP

تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان
زبان php یک زبان اسکریپتی سمت سرور (Server Side) است .بدین معنی که وظیفه اجرای آن بر عهده سرور می باشد. در فرهنگ برنامه نویسی سرور صرفا یک ماشین سخت افزاری نیست . بلکه نرم افزار یا برنامه ایست که وظیفه اجرای یکسری کار معین را بر عهده دارد . در مورد برنامه نویسی تحت وب این نرم افزار وب سرور (Web Server) نام دارد . هنگامی که شما یک صفحه وب را طراحی می کنید این صفحه شامل بخش های مختلفی خواهد بود . یک بخش ممکن است صرفا html باشد و مربوط به جنبه های ظاهری صفحه وب که وظیفه اجرای آن بخش بر عهده مرورگر خواهد بود . یک بخش مانند ارتباط با دیتا بیس (Database) را نمی توان بر عهده مرورگر گذاشت چرا که مرورگر در سمت مشتری (Client) اجرا می شود و در سمت مشتری دیتابیسی وجود ندارد (و اصلا نمی تواند و معنا ندارد که وجود داشته باشد). بنابراین اجرای این بخش بر عهده وب سرور گذاشته می شود . هنگامی که کاربر این صفحه را درخواست می کند این در خواست توسط مرور گر برای سرور ارسال می شود . در سرور نرم افزار وب سرور مدام به پورت (port) شماره 80 (این پورت ، پورت پیش فرض وب - http - است پورت های 8008 و 8080 نیز به این کار اختصاص داده شده اند که می توان از آنها استفاده نمود) گوش می کند بدین معنی که تمامی پکتهای دریافتی از این پورت را چک می کند و آنها را مورد پردازش قرار می دهد . این پردازش بدین معنی است که ابتدا فایل درخواستی را مشخص کرده و سپس آنرا پویش می کند از کدهای html گذر کرده و کدهای سروری (در این مجموعه php) را تفسیر کرده و احیانا اگر درخواستی از بانک اطلاعاتی داشته باشد این درخواست را ارسال کرده و جواب آنرا بر می گرداند . در نهایت تمامی کدهای سروری به html تبدیل شده و برای مشتری ارسابل می شود و مرورگر آنها را تفسیر کرده و نشان می دهد .

 
تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان
بانهای سروری متعددی وجود دارد مانند php ، asp ، jsp و ... . برای اجرای هر یک از این زبانها به وب سرور متفاوتی نیاز است . مثلا asp بر روی ویندوز (windows) و با وب سروری با نام IIS یا Internet Information Service کار می کند . و php و jsp معمولا بر روی لینوکس کار می کنند . php با وب سروری بنام Apache و jsp با وب سروری با نام Apache TomCat کار می کند. تفاوت Apache با Apache Tomcat اینست که آپاچی یک وب سرور عمومی هست که از بسیاری از زبانهای سمت سرور حمایت میکنه ولی تامکت در حقیقت یک servlet هست که برای jsp بکار می رود و نه یک وب سرور مستقل . البته زبانی مانند php می تواند با وب سروری مانند IIS نیز کار کند اما رایج اینست که وب سرور php آپاچی باشد .
برنامه هایی که با php نوشته می شوند معمولا بر روی سرور های لینوکسی نصب می شوند (میزبانی می گردند ). سیستم عامل لینوکس سرویس آپاچی را به عنوان یکی از سرویس های خود دارا است . ولی اگر بخواهید این سرویس را بر روی سیستم عامل ویندوز نصب کنید بهتر است از بسته ای بنام XAMPP استفاده کنید . این بسته php و Apache و My SQL را با هم نصب می کند و کار را برای شما بسیار راحت می گرداند .
شما باید به هنگام برنامه نویسی ماشین خود را به سرور (نرم افزاری) تبدیل کنید . به این معنی که یک وب سرور (در اینجا آپاچی) را بر روی ماشین خود راه اندازی کنید و به هنگام فراخوانی صفحات php ، درخواست های خود را به localhost ارسال کنید. برای همین است که نیاز به نصب بسته XAMPP دارید .
این بسته را می توانید از اینجا دانلود و نصب نمائید . پس از نصب بسته از مسیر Start->All Programs ->Apache Friends->Xampp ->Xampp Control Server Panel کنترلر xampp را باز کنید از اینجا می توانید سرویس های apache و mysql را start و یا stop کنید . برای اجرای برنامه های سروری حتما باید Apache در وضعیت running قرار گیرد . از آنجا که php به عنوان یکی از ماژول های apache نصب می شود با اجرای apache کانکتور php هم فعال شده و از این حیث مشکلی نخواهد بود .
 
تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان
ویرایشگر (Editor)
برای نوشتن php برنامه ها و محیط های فراوانی وجود دارد مانند Dreamweaver ، Zend Studio و یا PHP Designer که می توان گفت بهترین و قوی ترین آنها Zend Studio است . اما پیشنهاد من اینست که اگر مبتدی هستید حتما حداقل تا 6 ماه از ساده ترین ویرایشگر موجود مانند Notepad و یا ++Notepad استفاده کنید . چرا که خطرناک ترین مسئله برای یک برنامه نویس عادت کردن به محیط است به گونه ای که ذهن تنبل شده و فرم دقیق دستورات از خاطر می روند . بدانید که بر روی سرورهای واقعی هیچ محیط کمک کننده ای وجود ندارد و فقط باید متکی به دانش خود باشید . از آنجا که وظیفه اجرای کد های php بر عهده سرور است ویرایشگر برنامه هیچ نقسی در اجرای برنامه ندارد . (مانند زبانهایی مانند c و ... نیست که محیط بخواهد آنرا کامپایل و اجرا کند) .
 
تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان
در مطلب قبل گفتیم که با استفاده از هر ویرایشگری می توان کد های php را نوشت .
برای اینکه مرورگر و وب سرور بفهمند که یک صفحه حاوی کد php است باید صفحاتی را که حاوی کد php هستند با پسوند php و یا php3 ذخیره نمود . البته ما از پسوند php که رایج تر است استفاده می کنیم . شما در هر جای کد html که اراده کنید می توانید کد php خود را وارد کنید منتها باید این کار را داخل تگ php انجام دهید تا مرورگر آنها را تفسیر نکند . برای نوشتن توضیحات (Comments) نیز می توانید از علامت // در صورتیکه توضیح تک خطی باشد استفاده کرد . اگر توضیحات بیش از یک خط باشد می توان آنرا بین علامت های */ و /* محصور کرد . مثال زیر روش کار را مشخص می کند
 
تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان

کد:
[/SIZE]
[COLOR=blue][SIZE=2]<html>
 <head>     
 </head>
 <body>
 <div > 
 [COLOR=red] <?php 
 [COLOR=green]//Write Some Code
 /* 
 This is multi lines comments
 */[/COLOR]
 ?>[/COLOR]
 </div> 
</body>
</html> [/SIZE][/COLOR]


حتی می توانید از کدهای html صرفنظر کنید و فقط php بنویسید . ولی سعی کنید کدهایی که قرار است چیزی را به نمایش بگذارند را در داخل کد html بنویسید و استاندارد را در این زمینه رعایت کنید . البته کدهای php که قرار است صرفا در جای دیگری استفاده شوند و مثلا کاری شبیه ارتباط با دیتا بیس را انجام دهند را می توانید مانند یک کلاس در یک فایل php محض و بدون حضور کدهای html بنویسید .
ضمنا می توانید کدهای php خود را بین علامت های ?> و <؟ نیز بنویسید اما همان علامت که در مثال فوق استفاده شده رایج تر است . این تگ که به رنگ قرمز درآمده است، تگ php نامیده می شود .
 
تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان
متغیرها ، فضایی از حافظه هستند که برای ذخیره سازی اطلاعاتی که یک برنامه در حین اجرا نیاز دارد استفاده می شوند . به این خاطر نام متغیر را بر روی آنها گذاشته اند که این قابلیت را دارند که مقدار آنها تغییر کند . این متغیر ها با یک نام منحصر به فرد مشخص می شوند . این نام برای ارجاع به آنها و یا بازخوانی مقادیر ذخیره شده در آنها استفاده می شود اگر متغیری نام نداشته باشد فقط یک فضای بیخود اشغال کرده است بدون آنکه بتوان از آن استفاده ای کرد . دقیقا مانند اینکه فردی نام و آدرسی نداشته باشد .آیا می توان این فرد را خطاب قرار داد ؟
در php متغیر ها با آوردن یک علامت $ قبل از نام آنها شناسایی می شوند به عبارت دیگر اگر هنگامی که با متغیری کار دارید پیش از آوردن نامش علامت $ نیاورید مرتکب یک خطای دستوری شده اید . البته php مانند زبانهای دیگر نیست که قبل از استفاده از متغیر لازم باشد آن متغیر را اعلان (declare) کرد . در php هرگاه که به متغیری نیاز داشتید کافیست نام آنرا بیاورید حتی اگر برای بار اول بخواهید از آن استفاده کنید . این کار سادگی هایی را برای برنامه نویسان فراهم آورده است ولی در عین حال یک مشکل بزرگ هم ایجاد کرده است و آن اینکه اگر برنامه نویس نام متغیری را اشتباه بنویسد هیچ خطایی از جانب کامپایلر دریافت نمی کند چرا که کامپایلر فکر می کند برنامه نویس قصد داشته یک متغیر جدید بکار ببرد. پس هنگام کار با متغیر ها دقت کافی داشته باشید . برای همین است که php را یک زبان Loosely Typed (در مقابل Strongly Typed) می دانند . با این حال بهتر است چیزی شبیه به اعلان در برنامه داشته باشید و آن مقدار دهی به متغیر ها در اول برنامه است . مانند زیر :
$variable = value;
 
تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان
شایان ذکر است که در انتهای تمام خطوط غیر شرطی php باید یک علامت سمی کالن (;) بگذارید . در غیر این صورت با خطای دستوری مواجه می شوید .
حال سئوال اینجاست : php که اعلان ندارد میزان حافظه و نوع حافظه ای که باید در اختیار متغیر ها قرار دهد را از کجا تشخیص می دهد ؟ جواب : php بسته به مقداری که در متغیر قرار می گیرد نوع متغیر و میزان حافظه را تعیین می کند یعنی در زمان اجرا . به عبارت دیگر ممکن است متغیری اکنون از نوع عدد صحیح باشد و در خط بعدی از جنس رشته ! پس خود php این تبدیل نوع را انجام می دهد .
 
تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان
قوانین نام گذاری متغیر ها
یکسری قوانین برای نام گذاری متغیرها وجود دارد که عبارتند از :
1- نام متغیر می تواند از حروف الفبای انگلیسی بزرگ و کوچک ، عدد و علامت (_) یا همان underline یا underscore تشکیل شود .
2- نام متغیر نمی تواند با عدد شروع شود .
3- قبل از نام متغیر باید حتما علامت $ بیاید .
4- نام متغیر نمی تواند شامل کاراکتر space باشد .
با توجه به بند 4 از قوانین فوق برای نام گذاری متغیرهایی که از بیش از یک کلمه دارند می توانید یکی از دو ره زیر را برگزینید :
الف - جداسازی کلمات از هم با علامت underline
ب- استفاده از استاندارد Camel Case : این استاندارد می گوید کلمه اول تماما با حروف کوچک نوشته می شود و از کلمات بعدی فقط حرف اول هر کلمه با حرف بزرگ نوشته می شود .گفتنی است این استاندارد در بین تمام برنامه نویسان دنیا رایج بوده و با رعایت این استاندارد تمام برنامه نویسان می توانند کد شما را به راحتی متوجه شوند .
 
تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان
متغیرهای رشته ای به آن دسته از متغیرها گفته می شود که برای ذخیره متن (text) بکار می روند و کلا در زبانهای برنامه نویسی رشته ، به مجموعه ای از کاراکتر ها و متن گفته می شود . یک متن ثابت در php همیشه بین دو علامت " یا ' قرار می گیرد . در زبانهای دیگر متغیر رشته ای با اعلان مشخص می شود ولی در زبان php متغیر رشته ای متغیری است که حاوی متن یا رشته باشد . مانند زیر :
<?php
$msg = "Hello World !";
?>
در مثال فوق متغیر msg$ یک متغیر رشته ایست که حاوی عبارت ثابت Hello World است . حال می توانیم عملیاتی را روی این متغیر انجام دهیم مانند الحاق ، چاپ و ... می توان عبارت ثابت Hello World را به تنهایی در عملیات شرکت داد مثلا آنرا به تابعی ارسال نمود ، و نیز می توان به جای آن ، متغیر مربوطه را در عملیات شرکت داد .
 
تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان
لحاق رشته ای یا string concatenation یعنی چسباندن دو رشته یا متغیر رشته ای به هم به گونه ای که انگار یک رشته یا متغیر واحد هستند . در php این عملیات توسط عملگر یکانی الحاق که با دات (.) مشخص می شود ، انجام می گیرد . اگر بین دو رشته یا متغیر رشته ای علامت دات را استفاده کنید خروجی حاصل یک رشته واحد خواهد بود . این عملگر را می توانید برای بیش از دو رشته نیز استفاده کنید کافیست رشته ها را به ترتیب و به دنبال هم لیست کرده و آنها را با علامت دات از هم جدا کنید . خروجی حاصل را می توانید چاپ کرده و یا برای پردازش خاصی به توابع ارسال کنید . ضمن اینکه می توانید یک رشته را به یک عدد الحاق کنید در این صورت php به صورت خودکار عدد را به جنس رشته تبدیل می کند و عملیات الحاق را انجام می دهد . در کد زیر نمونه ای از عملیات الحاق را مشاهده می کنید :
کد:
<?php
$msg = "Hello World !"." "."It's a nice day !";
?>
همانطور که در کد بالا می بینید ، متغیر رشته ای msg$ با خروجی الحاق سه رشته مقدار دهی شده است . رشته اول Hello World ، رشته دوم کارکتر space برای ایجاد فاصله بین رشته قبلی و رشته بعدی و رشته سوم عبارت It's a nice day می باشد . حال می توان رشته حاصل را برای چاپ بر روی صفحه به تابعی که این کار را انجام می دهد ارسال نمود .
 
تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان
به منظور چاپ رشته ، متغیر رشته ای ، عدد ، متغیر عددی و کلا هر چیز دیگری از یک تابع (function) بنام echo استفاده می شود . تابع قطعه کدی است که یکبار نوشته شده و بار ها فقط با آوردن نام استفاده می شود . در php بیش از 700 تابع پیش ساخته وجود دارد و در حقیقت قدرت php به این توابع است . ضمن اینکه امکان تعریف تابع جدید توسط کاربر نیز وجود دارد . تابع echo یک پارامتر می پذیرد و آنرا بر روی صفحه وب چاپ می کند . توابع php نیز مانند بسیاری زبانهای دیگر برای ارسال پارامتر ، آنها را در یک زوج پرانتز می پذیرند . اما تابع echo به خاطر کثرت استفاده از این قاعده مستثنی شده و این امکان وجود دارد که پرانتز را به هنگام استفاده از این تابع حذف کنیم . ضمن اینکه یک پارامتر دریافتی توسط echo می تواند حاصل الحاق چندین رشته باشد . مثال :
 
تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان
کد:
<?php
$msg = "Hello World !";
echo $msg." "."It's a nice day!";
?>
خروجی کد فوق عبارت Hello World ! It's a nice day است که بر روی صفحه نمایش می یابد مطلب مهمی که باید به آن توجه داشته باشید اینست که دستور echo در سند html چاپ می کند. این یعنی اینکه شما می توانید به کمک این تابع تگ html را چاپ کنید و در مقابل اثر آنرا ببینید . به این شکل می توان خروجی را با سبک و style خاصی چاپ نمود . مثال :
کد:
<?php
$msg = "Hello World !";
echo " <p style="color:blue;background-color:yellow">".$msg." "."It's a nice day!"."</p>" ;
?>
نتیجه اجرای کد فوق چاپ عبارت Hello World ! It's a nice day با رنگ آبی بر روی یک پس زمینه زرد رنگ است .
به همین دلیل است که اینجانب عقیده دارم echo قوی ترین دستور در php است ، چرا که کارهایی که اجرای آنها در محیط های پر زرق و برقی مانند Visual Studio .net مستلزم کارها و بند و بساط زیادی است در php با 2 یا 3 خط کد و با استفاده از همین تابع echo قابل انجام است .
 
تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان
هنگامی که وب سرور Apache را از طریق بسته xampp نصب می کنید در مسیر نصب xampp یک پوشه بنام htdocs ساخته می شود . اگر در نوار آدرس مرورگر وب آدرس http://localhost را وارد نمائید صفحه پیش فرض Xampp Server که در همین مسیر htdocs است نشان داده می شود . در برنامه نویسی وب localhost به معنای همین ماشینی است که مرورگر در آن قرار دارد .در حقیقت پوشه پیش فرض وب در xampp server همین شاخه htdocs است . شما برای اجرای برنامه های خود نیاز دارید در این مسیر یک شاخه جدید ساخته و فایل های برنامه را در این مسیر قرار دهید . مثلا اگر در شاخه htdocs شاخه ای بنام site بسازیم که در آن فایلی بنام index.php وجود داشته باشد به هنگام فراخوانی این صفحه باید آدرس http://localhost/site/index.php در نوار آدرس مرور گر وارد شود . البته در این مثال خاص می توانید نام فایل را وارد نکنید چرا که اگر نام فایل وجود نداشته باشد Apache به طور خودکار فایل index.php را لود می کند و اگر این فایل نیز وجود نداشته باشد به دنبال فایل index.html می گردد که البته این تنظیمات قابل تغییر است . به هر حال به این طریق می توانیم فایل را از طریق پروتکل ارتباطی http و از طریق وب سرور درخواست کنیم . درست هم همین است چرا که ما در بخش html یاد گرفته بودیم بر روی فایل خود دوبار کلیک کنیم در صورتیکه بر روی وب این امکان وجود ندارد بلکه در وب این آدرس ها هستند که حرف اول و آخر را می زنند . پس از این پس سعی کنید حتی فایل های html خود را به این شکل اجرا کنید . چرا که اینگونه یک صفحه وب معنای وب سایت را پیدا می کند .
 
تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان
گاهی اوقات یافتن طول رشته ها برای ما اهمیت پیدا می کند برای همین هم در php تابعی ساخته شده بنام strlen که تنها یک پارامتر می گیرد و آن هم از جنس رشته است . کار این تابع اینست که طول رشته یعنی تعداد کارکترهای موجود در رشته را محاسبه کرده و برمی گرداند .
 
تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان
برای یافتن محل وقوع یک رشته در رشته دیگر از تابع strpos استفاده می شود . این تابع دو پارامتر رشته ای گرفته و محل قوع پارامتر دوم در اول را بر میگرداند . در صورتیکه پارامتر دوم را در اولی نیابد مقدار بازگشتی false خواهد بود . false یک مقدار منطقی است که ارزش 0 دارد . مثال :
کد:
<?php
$msg = "Hello World !";
echo strpos($msg,"World");
?>
خروجی بالا عدد 6 خواهد بود چرا که شمارش رشته اول از عدد صفر شروع می شود یعنی اولین کارکتر رشته اول کارکتر شماره صفر است . توجه داشته باشید که چنانچه ما در مثال فوق پارامتر دوم این تابع را با حرف کوچک w بنویسیم مقدار بازگشتی false خواهد بود چرا که PHP یک زبان Case Sensitive است . یعنی به بزرگی و کوچکی حروف حساس است .
 
تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان
یا عملگر کارکتریست که نشاندهنده عملیات خاصی بر روی یکسری مقادیر است مانند عملگر + که نشاندهنده عملیات جمع است . در PHP چهار دسته عملگر پر کاربرد وجود دارد که به ترتیب آنها را بررسی می کنیم (شایان ذکر است که عملگر های دیگری نیز غیر از آنچه که در زیر گفته شده وجود دارد که به علت کمی استفاده فعلا از ذکر آن خود داری می کنیم)
 
تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان
1- عملگر های حسابی (Arithmatic Operators)
این عملگر ها برای محاسبه عبارات ریاضی بکار می روند و بر روی عملوند های عددی استفاده می شوند.
 
تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان
2- عملگرهای انتسابی (Assignment Operators)
این عملگرهای برای انتساب مقدار به متغیر ها استفاده می شوند . این عملگر ها همه باینری هستند (یعنی بر روی دو عملوند عمل می کنند) و همیشه مقدار سمت راست خود را به متغیر سمت چپ نسبت می دهند .
 
تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان

3- عملگرهای مقایسه ای (Comparison Operators)
این عملگر ها که همگی باینری هستند برای مقایسه دو مقدار به کار می روند و دارای خروجی هستند . یعنی به نوعی شرط را در دل خود دارند . خروجی این عملگر ها true (هر جا که شرط برقرار باشد) و false (هر جا که شرط برقرار نباشد) می باشد .
 
تاریخ عضویت
25 آگوست 2012
نوشته‌ها
87
لایک‌ها
0
محل سکونت
آبادان
4- عملگر های منطقی (Logical Operators)
عملگرهای منطقی که دوتای اول آنها (&& و ||) باینری و آخری (!) یکانی است طبق قوانین منطق گزاره ای رفتار می کنند . این عملگر ها برای ساخت شرط در جملات شرطی (Conditional Statement) و حلقه (Loops)ها استفاده می شوند .
 
بالا