وب (PHP و Laravel)

برنامه نویسی وب شامل PHP و Laravel است.

PHP چیست؟
• PHP مخفف “PHP: Hypertext Preprocessor” است
• PHP یک زبان برنامه نویسی منبع باز است که به طور گسترده مورد استفاده قرار می گیرد
• اسکریپت های PHP بر روی سرور اجرا می شوند
• PHP برای بارگیری و استفاده رایگان است
PHP یک زبان شگفت انگیز و محبوب است!
آنقدر قدرتمند است که بتواند در هسته بزرگترین سیستم وبلاگ نویسی در وب (وردپرس) قرار گیرد!
برای اجرای بزرگترین شبکه اجتماعی (فیس بوک) به اندازه کافی عمیق است!
همچنین به راحتی می توانید اولین زبان سمت سرور مبتدی باشید!


فایل PHP چیست؟
• پرونده های PHP می توانند حاوی متن ، HTML ، CSS ، JavaScript و کد PHP باشند
• کد PHP روی سرور اجرا می شود و نتیجه به صورت HTML ساده به مرورگر باز می گردد
• پرونده های PHP دارای پسوند “.php” هستند


PHP چه کاری می تواند انجام دهد؟
• PHP می تواند محتوای صفحه پویا ایجاد کند
• PHP می تواند پرونده هایی را در سرور ایجاد ، باز ، خواندن ، نوشتن ، حذف و بسته کند
• PHP می تواند داده های فرم را جمع آوری کند
• PHP می تواند کوکی ها را ارسال و دریافت کند
• PHP می تواند داده ها را در پایگاه داده شما اضافه ، حذف ، تغییر دهد
• از PHP می توان برای کنترل دسترسی کاربر استفاده کرد
• PHP می تواند داده ها را رمزگذاری کند
با PHP محدود به HTML خروجی نیستید. می توانید از تصاویر ، فایل های PDF و حتی فیلم های فلش خروجی بگیرید. همچنین می توانید هر متنی مانند XHTML و XML را خارج کنید.


چرا PHP؟
• PHP در سیستم عامل های مختلف اجرا می شود (ویندوز ، لینوکس ، یونیکس ، Mac OS X و غیره)
• PHP تقریباً با تمام سرورهای امروزی (Apache ، IIS و غیره) سازگار است
• PHP از طیف گسترده ای از پایگاه های اطلاعاتی پشتیبانی می کند
• PHP رایگان است. آن را از منبع رسمی PHP بارگیری کنید: www.php.net
• PHP به راحتی قابل یادگیری است و به صورت کارآمد در سمت سرور اجرا می شود


آنچه در PHP 7 جدید است
• PHP 7 بسیار سریعتر از نسخه پایدار محبوب قبلی است (PHP 5.6)
• PHP 7 مدیریت خطا را بهبود بخشیده است
• PHP 7 برای آرگومان های عملکرد از اعلامیه های نوع دقیق تری پشتیبانی می کند
• PHP 7 از اپراتورهای جدید پشتیبانی می کند (مانند اپراتور سفینه فضایی: <=>)

نحو پایه PHP
اسکریپت PHP را می توان در هر کجای سند قرار داد.
یک اسکریپت PHP با <؟ php شروع می شود و با؟> پایان می یابد:

<?php
// PHP code goes here
?>

پسوند پرونده پیش فرض برای پرونده های PHP “.php” است.
یک فایل PHP به طور معمول حاوی برچسب های HTML و برخی از کد های برنامه نویسی PHP است.
در زیر ، ما نمونه ای از یک فایل PHP ساده را با یک اسکریپت PHP داریم که از عملکرد داخلی “echo” برای خروجی متن “Hello World!” استفاده می کند. در یک صفحه وب:

<!DOCTYPE html>
<html>
<body>

<h1>My first PHP page</h1>

<?php
echo "Hello World!";
?>

</body>
</html>

به مثال زیر نگاه کنید ؛ فقط اولین عبارت مقدار متغیر را نمایش می دهد! دلیل این امر این است که color ، COLOR و coLOR به عنوان سه متغیر متفاوت در نظر گرفته می شوند:

<!DOCTYPE html>
<html>
<body>

<?php
$color = "red";
echo "My car is " . $color . "<br>";
echo "My house is " . $COLOR . "<br>";
echo "My boat is " . $coLOR . "<br>";
?>

</body>
</html>

نظرات در PHP
یک نظر در کد PHP خطی است که به عنوان بخشی از برنامه اجرا نمی شود. تنها هدف آن خواندن توسط کسی است که به کد نگاه می کند.
از نظرات می توان به این موارد استفاده کرد:
• اجازه دهید دیگران کد شما را درک کنند
• آنچه را انجام داده اید به خود یادآوری کنید – اکثر برنامه نویسان تجربه کرده اند که یکی دو سال بعد به کار خود برگشته اند و مجبور شده اند دوباره بفهمند که چه کاری انجام داده اند. نظرات می توانند به شما یادآوری کنند هنگام نوشتن کد به چه فکر می کردید
PHP از چندین روش برای اظهار نظر پشتیبانی می کند:
مثال

<!DOCTYPE html>
<html>
<body>

<?php
// This is a single-line comment

# This is also a single-line comment
?>

</body>
</html>
<!DOCTYPE html>
<html>
<body>

<?php
/*
This is a multiple-lines comment block
that spans over multiple
lines
*/
?>

</body>
</html>
<!DOCTYPE html>
<html>
<body>

<?php
// You can also use comments to leave out parts of a code line
$x = 5 /* + 15 */ + 5;
echo $x;
?>

</body>
</html>

متغیرها Variables

متغیرها “ظرف” ذخیره اطلاعات هستند.


ایجاد (اعلام) متغیرهای PHP
در PHP ، یک متغیر با علامت $ شروع می شود و به دنبال آن نام متغیر دنبال می شود

<?php
$txt = "Hello world!";
$x = 5;
$y = 10.5;
?>

پس از اجرای عبارات بالا ، متغیر $ txt مقدار Hello world را در خود نگه می دارد! ، متغیر $ x مقدار 5 را نگه می دارد و متغیر $ y مقدار 10.5 را نگه می دارد.
توجه: وقتی مقدار متنی را به یک متغیر اختصاص می دهید ، نقل قول های مربوط به مقدار را قرار دهید.
توجه: برخلاف سایر زبانهای برنامه نویسی ، PHP هیچگونه دستوری برای اعلام متغیر ندارد. در لحظه اختصاص اولین مقدار به آن ایجاد می شود.
متغیرها را به عنوان ظرف هایی برای ذخیره اطلاعات در نظر بگیرید.


متغیرهای PHP
یک متغیر می تواند یک نام کوتاه (مانند x و y) یا یک نام توصیفی بیشتر (سن ، نام اتومبیل ، حجمکلی) داشته باشد. قوانین متغیرهای PHP: • یک متغیر با علامت $ شروع می شود و به دنبال آن نام متغیر دنبال می شود • یک نام متغیر باید با یک حرف یا حرف زیر خط شروع شود • یک نام متغیر نمی تواند با یک عدد شروع شود • یک نام متغیر فقط می تواند حاوی نویسه ها و زیرخط های عددی آلفا باشد (A-z ، 0-9 و )
• نام متغیرها به حروف کوچک و بزرگ حساس هستند (age$ و Age$ دو متغیر متفاوت هستند)
به یاد داشته باشید که نام متغیرهای PHP به حروف کوچک و بزرگ حساس هستند!

متغیرهای خروجی
از عبارت echo PHP اغلب برای خروجی داده ها به صفحه استفاده می شود.
مثال زیر نحوه خروج متن و متغیر را نشان می دهد

<?php
$txt = "faratez.ir";
echo "I love $txt!";
?>
<?php
$txt = "faratez.ir";
echo "I love " . $txt . "!";
?>
<?php
$x = 5;
$y = 4;
echo $x + $y;
?>

عنصر <form>

از عنصر <form> HTML برای ایجاد فرم HTML برای ورودی کاربر استفاده می شود:

.

</form>

عنصر <form> ظرفی برای انواع مختلف عناصر ورودی است ، مانند: زمینه های متن ، کادرهای تأیید ، دکمه های رادیویی ، دکمه های ارسال و غیره.

تمام عناصر مختلف فرم در این فصل آورده شده است: عناصر فرم HTML.

________________________________________

عنصر <input>

عنصر HTML <input> پرکاربردترین عنصر شکل است.

یک عنصر <input> بسته به ویژگی نوع ، از بسیاری جهات قابل نمایش است.

در اینجا چند نمونه آورده شده است:

نوع توصیف

<input type = “text”> یک قسمت ورودی متن تک خطی را نمایش می دهد

<input type = “radio”> یک دکمه رادیو را نمایش می دهد (برای انتخاب یکی از بسیاری از گزینه ها)

<input type = “checkbox”> کادر تأیید را نمایش می دهد (برای انتخاب صفر یا بیشتر از بسیاری از گزینه ها)

<input type = “submit”> دکمه ارسال را نمایش می دهد (برای ارسال فرم)

<input type = “button”> دکمه قابل کلیک را نمایش می دهد


Text Fields کادرهای متنی

<form>
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname"><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname">
</form>

Radio Buttons دکمه رادیویی

<form>
  <input type="radio" id="male" name="gender" value="male">
  <label for="male">Male</label><br>
  <input type="radio" id="female" name="gender" value="female">
  <label for="female">Female</label><br>
  <input type="radio" id="other" name="gender" value="other">
  <label for="other">Other</label>
</form>

چک باکس ها Checkboxes

<form>
  <input type="checkbox" id="vehicle1" name="vehicle1" value="Bike">
  <label for="vehicle1"> I have a bike</label><br>
  <input type="checkbox" id="vehicle2" name="vehicle2" value="Car">
  <label for="vehicle2"> I have a car</label><br>
  <input type="checkbox" id="vehicle3" name="vehicle3" value="Boat">
  <label for="vehicle3"> I have a boat</label>
</form>

دکمه ارسال Submission Button
دکمه ای را برای ارسال داده های فرم به یک فرم دهنده کنترل می کند.
فرم-اداره کننده معمولاً فایلی در سرور است که دارای اسکریپت پردازش داده های ورودی است.
فرم دهنده در ویژگی عمل فرم مشخص شده است.

<form action="/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" value="John"><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" value="Doe"><br><br>
  <input type="submit" value="Submit">
</form>

ویژگی نام برای <input>
توجه داشته باشید که هر قسمت ورودی باید دارای ویژگی نام باشد تا ارسال شود.
اگر ویژگی نام حذف شود ، مقدار فیلد ورودی اصلاً ارسال نمی شود.
مثال
این مثال مقدار فیلد ورودی “First name” را ارسال نمی کند:

<form action="/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" value="John"><br><br>
  <input type="submit" value="Submit">
</form>

صفات فرم HTML


این فصل ویژگی های مختلف عنصر HTML را توصیف می کند.


صفت Action
صفت action عملیاتی را که باید هنگام ارسال فرم انجام شود ، تعریف می کند.
معمولاً وقتی کاربر روی دکمه ارسال کلیک می کند ، داده های فرم به پرونده ای در سرور ارسال می شود.
در مثال زیر ، داده های فرم به فایلی به نام “action_page.php” ارسال می شود. این پرونده شامل یک اسکریپت سمت سرور است که داده های فرم را مدیریت می کند:

<form action="/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" value="John"><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" value="Doe"><br><br>
  <input type="submit" value="Submit">
</form>

صفت target
ویژگی target مشخص می کند که پاسخی را که پس از ارسال فرم دریافت می شود ، نمایش دهد.
ویژگی target می تواند یکی از مقادیر زیر را داشته باشد:

blank_ پاسخ در یک پنجره یا برگه جدید نمایش داده می شود self پاسخ در پنجره فعلی نمایش داده می شود
parent_ پاسخ در کادر والدین نمایش داده می شود
top_ پاسخ در بدنه کامل پنجره نمایش داده می شود
framename_ پاسخ در یک iframe نامگذاری شده نمایش داده می شود.

مقدار پیش فرض _ self است که به این معنی است که پاسخ در پنجره فعلی باز می شود.
مثال
در اینجا ، نتیجه ارسال شده در یک برگه مرورگر جدید باز می شود:

<form action="/action_page.php" target="_blank">

ویژگی method
مشخصه روش ، روش HTTP را مشخص می کند تا هنگام ارسال داده های فرم ، از آن استفاده شود.
داده های فرم را می توان به عنوان متغیرهای GET یا به عنوان معامله POST ارسال کرد.
روش پیش فرض HTTP هنگام ارسال داده های فرم GET است.
مثال
این مثال هنگام ارسال داده های فرم از روش GET استفاده می کند:

<form action="/action_page.php" method="get">

مثال
این مثال هنگام ارسال داده های فرم از روش POST استفاده می کند:

<form action="/action_page.php" method="post">

یادداشت های مربوط به GET:
• داده های فرم را به دو جفت نام / مقدار به URL اضافه می کند
• هرگز از GET برای ارسال اطلاعات حساس استفاده نکنید! (داده های فرم ارسالی در URL قابل مشاهده است!)
• طول یک URL محدود است (2048 نویسه)
• برای ارسال فرم در مواردی که کاربر بخواهد نتیجه را علامت گذاری کند مفید است
• GET برای داده های غیر ایمن مانند رشته های جستجوی Google مفید است
یادداشت ها در مورد POST:
• داده های فرم را در قسمت اصلی درخواست HTTP ضمیمه می کند (داده های فرم ارسالی در URL نشان داده نمی شود)
• POST محدودیتی در اندازه ندارد و می تواند برای ارسال مقدار زیادی داده استفاده شود.
• فرم های ارسالی با POST را نمی توان نشانه گذاری کرد.

<form action="/action_page.php" method="get">
  <label for="fname">First name:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <label for="lname">Last name:</label>
  <input type="text" id="lname" name="lname"><br><br>
  <input type="submit" value="Submit using GET">
  <input type="submit" formmethod="post" value="Submit using POST">
</form>