<html> <head> <title>Online PHP Script Execution</title> </head> <body> <?php echo "<h1>Hello, PHP!</h1>"; ?> </body> </html>
به منظور توسعه و اجرای صفحات وب (PHP) ، سه جزء مهم لازم است تا بر روی سیستم کامپیوتر شما نصب شود .
وب سرور:
به صورت مجازی با همه نرم افزار های وب سرور کار می کند ، دربردارنده سرور اطلاعات اینترنت مایکروسافت (IIS) است ، اما بیشتر به عنوان سرور آپاچی استفاده می شود .
به رایگان آپاچی را این لینک دانلود کنید : http://httpd.apache.org/download.cgi
دیتابیس :
به صورت مجازی با همه نرم افزار های دیتابیس ، دربردارنده (Oracle) و (Sybase) کار می کند ، اما بیشتر از عنوان (MySQL database) استفاده می شود .
به رایگان (MySQL) را از این لینک دانلود کنید : http://www.mysql.com/downloads/
parser : به منظور روند دستورالعمل های اسکریپت ، یک parser باید نصب باشد تا (HTML) تولید شده بتواند به مرورگر وب فرستاده شود . این آموزش شما را راهنمایی می کند ، که چطور parser (PHP) را روی کامپیوتر خود نصب کنید .
نصب کردن php parser
قبل از اینکه شما شروع کنید ، مهم است که مطمئن شوید که شما محیط مناسب را بر روی دستگاه خود راه اندازی کرده اید ، تا برنامه های وب را با استفاده از (php) توسعه دهید . فایل (php) روبرو را ذخیره کرده و فولدر (Apache) در (htdocs) بریزید .
<?php phpinfo(); ?>
آدرس زیر را در مرورگر خود وارد کنید :
http://127.0.0.1/phpinfo.php
صفحه ای حاوی اطلاعات نصب (php) به شما نشان داده می شود ، که به این معناست که شما (php) و وب سرور را به درستی نصب کرده اید ؛ در غیر این صورت ، شما باید روش های داده شده را دنبال کنید تا (php) را روی کامپیوتر خود نصب کنید .
این قسمت شما را راهنمایی می کند تا (php) را روی ۴ پلتفرم زیر پیکربندی و نصب کنید :
- PHP Installation on Linux or Unix with Apache
- PHP Installation on Mac OS X with Apache
- PHP Installation on Windows NT/2000/XP with IIS
- PHP Installation on Windows NT/2000/XP with Apache
پیکربندی آپاچی
اگر شما از آپاچی به عنوان وب سرور استفاده می کنید ، خوب این قسمت شما را راهنمایی می کند ، تا فایل های پیکربندی آپاچی را ویرایش کنید .
اینجا را بررسی کنید :PHP Configuration in Apache Server
پیکربندی فایل php.ini
فایل پیکربندی php.ini ، این آخرین و فوری ترین راه برای تحت تأثیر قرار دادن عملکرد (php) است .
اینجا را بررسی کنید :PHP.INI File Configuration
پیکربندی Windows IIS
برای پیکربندی IIS بر روی دستگاه خودتان ، شما می توانید به راهنمای همراه با (IIS) مراجعه کنید .
متد های منسوخ شده
در php4 ، متد هایی هستند که تعریف شده اند و هم اسم هستند ؛ حالا منسوخ شده و در آینده حذف می شوند . اگر یک سازنده php4 ، تنها سازنده تعریف شده در یک کلاس بود ، E_DEPRECATED در php7 منتشر می شود .
کلاس های اجرای یک متد __construct() بدون تاثیر هستند .
به عنوان مثال:
<?php class A { function A() { print('Style Constructor'); } } ?>
خروجی :
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; A has a deprecated constructor in...
متد های (Static calls to non-static) :
متد های Static calls to non-static منسوخ شده اند و ممکن است که در آینده حذف بشوند .
<?php class A { function b() { print('Non-static call'); } } A::b(); ?>
خروجی :
Deprecated: Non-static method A::b() should not be called statically in... Non-static call
گزینه salt password_hash() :
گزینه salt برای عملکرد password_hash() ، منسوخ شده است ؛ خوب پس توسعه دهنده ها salt های ناامن خود را تولید نکنند ؛ عملکرد ، خود یک salt رمزنگاری شده امن را تولید می کند ، وقتی که هیچ salt ای توسط توسعه دهنده ، ارائه نشده باشد ؛ بدین ترتیب salt های سفارشی ، دیگر لازم نیستند .
انتخاب زمینه SSLcapture_session_meta
انتخاب زمینه capture_session_meta ، منسوخ شده است . حالا ، SSL metadata از طریق عملکرد stream_get_meta_data() استفاده می شود .
ورژنهای php
آموزش های نسخه ۷ PHP
PHP نسخه ۷ ، بیشترین انتظارها را داشته و منتشر کننده ویژگی های عمده ی برنامه نویسی PHP است . نسخه ۷ PHP ، در ۳ دسامبر ۲۰۱۵ منتشر یافته است . این آموزش ، ویژگی های جدید در نسخه ۷ و استفاده ی آن ها رابه شیوه ای آسان و راحت به شما یاد میدهد .
حضار
این آموزش برای توسعه دهندگان PHP آماده شده است . بعد از کامل کردن این آموزش شما به یک سطح متوسط از علم PHP می رسید که می توانید به سطح بعدی برسید .
پیش نیاز ها
ما فرض می کنیم که شما همه چیز را در رابطه با نسخه های قبلی PHP میدانید و الان شما می توانید ویزگی های جدید نسخه ۷ PHP یاد بگیرید .
<html> <head> <title> PHP-7 </title> </head> <body> <?php echo "<h1>Hello, PHP-7!</h1>"; ?> </body> </html>
کلاس های anonymous
حالا کلاس های بی نام می توانند با استفاده از کلاس های جدید ، تعریف شوند . کلاس های بی نام می توانند در مکانی که پر از تعاریف کلاس است ، استفاده شوند .
به عنوان مثال :
<?php interface Logger { public function log(string $msg); } class Application { private $logger; public function getLogger(): Logger { return $this->logger; } public function setLogger(Logger $logger) { $this->logger = $logger; } } $app = new Application; $app->setLogger(new class implements Logger { public function log(string $msg) { print($msg); } }); $app->getLogger()->log("My first Log Message"); ?>
خروجی :
My first Log Message
Null Coalesce
در نسخه ۷ php ، یک قابلیت جدید به نام ادغام کننده null تولید شده است ؛ که ادغام کننده سه تایی را در پیوستگی با عملکرد isset() جایگزین می کند .
ادغام کننده null ، عملوند اول اگر وجود داشته باشد و پوچ نباشد ، خود را (Return) می کند ؛ ؛ درغیر این صورت ، عملوند دوم خود را (Return) می کند .
مثال :
<?php // fetch the value of $_GET['user'] and returns 'not passed' // if username is not passed $username = $_GET['username'] ?? 'not passed'; print($username); print("<br/>"); // Equivalent code using ternary operator $username = isset($_GET['username']) ? $_GET['username'] : 'not passed'; print($username); print("<br/>"); // Chaining ?? operation $username = $_GET['username'] ?? $_POST['username'] ?? 'not passed'; print($username); ?>
خروجی :
not passed not passed not passed
intdiv
(php7) یک تابع جدید به نام intdiv را دارا می باشد ، که تقسیم اعداد صحیحی که در عملوند است ، را انجام می دهد و خارج قسمت را به عدد صحیح بر می گرداند .
به عنوان مثال:
<?php $value = intdiv(10,3); var_dump($value); print(" "); print($value); ?>
خروجی :
int(3) ۳
Int1Char
در نسخه ۷ php ، کلاس جدیدی به نام IntlChar اضافه شده که کاری می کند تا ICU های اضافی را جستجو می کند . این کلاس ، یک عدد از متد های ایستا و ثابت تعریف می کند ، تا بتواند در دستکاری کاراکتر های UNICODE ، استفاده شود . شما باید افزونه Intl را قبلا نصب داشته باشید ، تا بتوانید از این کلاس استفاده کنید .
به عنوان مثال :
<?php printf'%x', IntlChar::CODEPOINT_MAX; print IntlChar::charName'@'; printIntlChar::ispunct'!'; ?>
خروجی :
۱۰ffff COMMERCIAL AT true