From d1e8854b4dfd14e5701b14832b270dba56f48d7d Mon Sep 17 00:00:00 2001 From: Ali Yousefi Date: Mon, 27 Aug 2018 14:36:28 +0430 Subject: [PATCH 1/2] Update ver 7.2 update ver 5.6 to 7.2 stable version update install macOs setup --- ...01-02-01-Use-the-Current-Stable-Version.md | 13 +++-- _posts/01-04-01-Mac-Setup.md | 54 +++++++++++++++---- _posts/03-02-01-Programming-Paradigms.md | 21 ++++---- 3 files changed, 64 insertions(+), 24 deletions(-) diff --git a/_posts/01-02-01-Use-the-Current-Stable-Version.md b/_posts/01-02-01-Use-the-Current-Stable-Version.md index dd30a26a8..35a7bfdcd 100644 --- a/_posts/01-02-01-Use-the-Current-Stable-Version.md +++ b/_posts/01-02-01-Use-the-Current-Stable-Version.md @@ -1,12 +1,15 @@ --- -title: استفاده از آخرین نسخه پایدار (۵.۶) +title: استفاده از آخرین نسخه پایدار (۷.۲) isChild: true anchor: use_the_current_stable_version --- -## استفاده از آخرین نسخه پایدار (۵.۶) {#use_the_current_stable_version_title} +## استفاده از آخرین نسخه پایدار (۷.۲) {#use_the_current_stable_version_title} -اگر تازه با PHP آشنا شده‌اید توصیه می‌کنیم از آخرین نسخه‌ی پایدار [PHP 5.5][php-release] استفاده کنید. PHP طی سال‌های اخیر [ویژگی‌های جدید](#language_highlights) قدرتمندی را اضافه کرده است. با اینکه تفاوت نسخه‌های 5.2 تا 5.6 ناچیز به نظر می‌رسد اما تغییرات _بزرگی_ را شامل می‌شود. اگر به دنبال تابع یا عملکرد خاصی هستید، مستندات رسمی [php.net][php-docs] پاسخگوی شماست. +اگر تازه با PHP آشنا شده‌اید توصیه می‌کنیم از آخرین نسخه‌ی پایدار [PHP 7.2][php-release] استفاده کنید. در نسخه PHP 7.x [ویژگی‌های جدید](#language_highlights) به نسخه قبلی 5.x اضافه کرده است. موتور (engine) تقریبا دوباره بازنویسی شده، و الان PHP سریع تر از نسخه های قبلی کار میکند. -[php-release]: http://www.php.net/downloads.php -[php-docs]: http://www.php.net/manual/en/ +بهتر است هر چه سریع تر سعی کنید به جدید ترین نسخه پایدار آپگرید (upgrade) کنید - نسخه PHP 5.6 [فقط تا پایان سال ۲۰۱۸ آپدیت های امنیتی خواهد داشت](http://php.net/supported-versions.php). آپگرید کردن ساده است، و همچنین خیلی [ناسازگاری با نسخه های قبل][php72-bc] وجود ندارد. اگر به دنبال تابع یا عملکرد خاصی هستید، مستندات رسمی [php.net][php-docs] پاسخگوی شماست. + +[php-release]: http://php.net/downloads.php +[php-docs]: http://php.net/manual/ +[php72-bc]: http://php.net/manual/migration72.incompatible.php diff --git a/_posts/01-04-01-Mac-Setup.md b/_posts/01-04-01-Mac-Setup.md index 2edc7e007..523e12428 100644 --- a/_posts/01-04-01-Mac-Setup.md +++ b/_posts/01-04-01-Mac-Setup.md @@ -6,18 +6,54 @@ anchor: mac_setup ## نصب در مکینتاش {#mac_setup_title} -سیستم عامل OSX به صورت پیش فرض PHP را نصب دارد اما از نسخه‌های قدیمی‌تر آن استفاده می‌کند. Lion با PHP 5.3.6، Mountain Lion با PHP 5.3.10 و Mavericks با PHP 5.4.17 همراه است. +سیستم عامل OSX به صورت پیش فرض PHP را نصب دارد اما از نسخه‌های قدیمی‌تر آن استفاده می‌کند. راه‌های مختلفی برای نصب آخرین نسخه PHP در macOS وجود دارد. -برای بروزرسانی PHP در OSX می‌توانید از [مدیر بسته‌های][mac-package-managers] مختلف استفاده کنید، که توصیه ما استفاده از [php-osx توسط Liip][php-osx-downloads] است. +### نصب PHP با Homebrew + + مدیر بسته [Homebrew] در macOS کمک میکند تا به راحتی PHP و اکستنشن‌های مختلف PHP را نصب کنیم. ریپازیتوری اصلی Homebrew برای نصب نسخه های PHP 5.6, 7.0, 7.1, and 7.2 از قاعده نام آنها برای نصب استفاده میکند. برای نصب آخرین نسخه از دستور زیر استفاده میکنیم : +``` +brew install php@7.2 +``` + +می توانید بین نسخه های مختلف PHP سویج کنید با ویرایش کردن متغییر `PATH` . همچنین، می توایند از [brew-php-switcher][brew-php-switcher] برای سویچ کردن بین نسخه های مختلف PHP به صورت خودکار استفاده کنید. + +### نصب PHP با Macports + +پروژه [MacPorts]، پروژه ای اوپن سورس برای نصب آسان سیستم ها برای کامپایل، نصب و آپگرید کردن هم به صورت کامند لاین، X11 و یا نرم افزار هایی اپن سورس Aqua based در سیستم عامل OS X استفاده می شود. + +ابزار MacPorts از باینری های از قبل کامپایل شده (pre-compiled binaries) پشتیبانی میکند، بنابر این لازم نیست دوباره هر وابستگی را برای منابع با فایل های tarball (نوعی فرمت فایل فشرده) کامپایل کنید، این زندگی شما نجات میدهد اگر هیچ بسته ای پیش از این روی سیستم شما نصب نشده باشد. + +برای نصب نسخه های مختلف `php54`, `php55`, `php56`, `php70` یا `php71` از دستور `port install` استفاده کیند برای مثال : + + sudo port install php56 + sudo port install php71 + +و می توانید با اجرا کردن دستور `select` بین نسخه‌های مختلف PHP سویچ کنید :‌ + + sudo port select --set php php71 + +### نصب PHP با Liip's binary installer + +گزینه محبوب دیگر [php-osx.liip.ch] است که با یک خط دستور نصب می توان نسخه های 5.3 تا 7.1 را نصب کرد. +این ابزار روی باینری‌های PHP نصب شده توسط اپل باز نویسی نمی‌کند، اما همه چیز را در مکان جدایی نصب میکند (/usr/local/php5). + +### کامپایل کردن از منبع شما همچنین می‌توانید خودتان آن را [کامپایل][mac-compile] کنید; در این صورت، اطمینان حاصل کنید که قبل از آن Xcode یا [جایگزین Apple][apple-developer] برای آن را نصب کرده باشید، که از وبسایت رسمی Apple قابل دریافت است. -بسته‌های آماده‌ای مانند [MAMP][mamp-downloads] یا [XAMPP][xampp] هستند که شامل زبان برنامه‌نویسی PHP، وب سرور Apache و پایگاه داده‌ی MySQL به همراه محیط گرافیکی ساده هستند. +### نصب کننده‌های All-in-One + +روش های نصب ذکر شده در بالا همگی در مورد نصب PHP به تنهایی بود، و چیز‌های دیگر مانند وب سرور آپاچی Apache ، انجین‌ایکس Nginx و پایگاه داده SQL server را نصب نمی کنند. +بسته‌های آماده‌ای مانند [MAMP][mamp-downloads] یا [XAMPP][xampp] هستند که نرم افزارهای دیگر مورد نیاز را با هم نصب میکنند، اما اگر چه این روش نصب آسان است اما انعطاف پذیری را از شما میگیرد.( روش نصب آسان در مقابل انتعطاف پذیری). -[mac-package-managers]: http://www.php.net/manual/en/install.macosx.packages.php -[mac-compile]: http://www.php.net/manual/en/install.macosx.compile.php +[Homebrew]: https://brew.sh/ +[Homebrew PHP]: https://github.com/Homebrew/homebrew-php#installation +[MacPorts]: https://www.macports.org/install.php +[phpbrew]: https://github.com/phpbrew/phpbrew +[php-osx.liip.ch]: https://php-osx.liip.ch/ +[mac-compile]: https://secure.php.net/install.macosx.compile [xcode-gcc-substitution]: https://github.com/kennethreitz/osx-gcc-installer -[apple-developer]: https://developer.apple.com/downloads -[mamp-downloads]: http://www.mamp.info/en/downloads/index.html -[php-osx-downloads]: http://php-osx.liip.ch/ -[xampp]: http://www.apachefriends.org/en/xampp.html +["Command Line Tools for XCode"]: https://developer.apple.com/downloads +[mamp-downloads]: https://www.mamp.info/en/downloads/ +[xampp]: https://www.apachefriends.org/index.html +[brew-php-switcher]: https://github.com/philcook/brew-php-switcher diff --git a/_posts/03-02-01-Programming-Paradigms.md b/_posts/03-02-01-Programming-Paradigms.md index f4139cb67..bdeb5f367 100644 --- a/_posts/03-02-01-Programming-Paradigms.md +++ b/_posts/03-02-01-Programming-Paradigms.md @@ -43,15 +43,16 @@ PHP از توابعی پشتیبانی می‌کند که می‌توانند ب * [درباره‌ی Magic Methods بیشتر بدانید][magic-methods] * [درباره‌ی Reflection بیشتر بدانید][reflection] +* [درباره بیشتر Overloading بدانید][overloading] -[namespaces]: http://php.net/manual/en/language.namespaces.php -[overloading]: http://php.net/manual/en/language.oop5.overloading.php -[oop]: http://www.php.net/manual/en/language.oop5.php -[anonymous-functions]: http://www.php.net/manual/en/functions.anonymous.php -[closure-class]: http://php.net/manual/en/class.closure.php -[callables]: http://php.net/manual/en/language.types.callable.php -[magic-methods]: http://php.net/manual/en/language.oop5.magic.php -[reflection]: http://www.php.net/manual/en/intro.reflection.php -[traits]: http://www.php.net/traits -[call-user-func-array]: http://php.net/manual/en/function.call-user-func-array.php + +[oop]: https://secure.php.net/language.oop5 +[traits]: https://secure.php.net/language.oop5.traits +[anonymous-functions]: https://secure.php.net/functions.anonymous +[closure-class]: https://secure.php.net/class.closure [closures-rfc]: https://wiki.php.net/rfc/closures +[callables]: https://secure.php.net/language.types.callable +[call-user-func-array]: https://secure.php.net/function.call-user-func-array +[magic-methods]: https://secure.php.net/language.oop5.magic +[reflection]: https://secure.php.net/intro.reflection +[overloading]: https://secure.php.net/language.oop5.overloading From 4d828155e09fc93a81a8e5d4f3716071b7958d9f Mon Sep 17 00:00:00 2001 From: Ali Yousefi Date: Mon, 27 Aug 2018 20:19:40 +0430 Subject: [PATCH 2/2] Add GemFile & modify _config.yml Add Gemfile and Gemfile.lock rename pygments option to highlighter --- Gemfile | 3 + Gemfile.lock | 156 +++++++++++++++++++++++++++++++++++++++++++++++++++ _config.yml | 2 +- 3 files changed, 160 insertions(+), 1 deletion(-) create mode 100644 Gemfile create mode 100644 Gemfile.lock diff --git a/Gemfile b/Gemfile new file mode 100644 index 000000000..259b873b6 --- /dev/null +++ b/Gemfile @@ -0,0 +1,3 @@ +source 'https://rubygems.org' +gem 'github-pages', group: :jekyll_plugins +gem 'rouge' diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 000000000..e464f8d76 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,156 @@ +GEM + remote: https://rubygems.org/ + specs: + RedCloth (4.2.9) + activesupport (5.2.0) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + addressable (2.4.0) + blankslate (2.1.2.4) + classifier-reborn (2.2.0) + fast-stemmer (~> 1.0) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + colorator (0.1) + concurrent-ruby (1.0.5) + ethon (0.11.0) + ffi (>= 1.3.0) + execjs (2.7.0) + faraday (0.15.2) + multipart-post (>= 1.2, < 3) + fast-stemmer (1.0.2) + ffi (1.9.25) + gemoji (2.1.0) + github-pages (43) + RedCloth (= 4.2.9) + github-pages-health-check (= 0.6.0) + jekyll (= 2.4.0) + jekyll-coffeescript (= 1.0.1) + jekyll-feed (= 0.3.1) + jekyll-gist (= 1.4.0) + jekyll-mentions (= 0.2.1) + jekyll-paginate (= 1.1.0) + jekyll-redirect-from (= 0.9.1) + jekyll-sass-converter (= 1.3.0) + jekyll-seo-tag (= 0.1.4) + jekyll-sitemap (= 0.9.0) + jemoji (= 0.5.0) + kramdown (= 1.9.0) + liquid (= 2.6.2) + maruku (= 0.7.0) + mercenary (~> 0.3) + pygments.rb (= 0.6.3) + rdiscount (= 2.1.8) + redcarpet (= 3.3.3) + terminal-table (~> 1.4) + github-pages-health-check (0.6.0) + addressable (~> 2.3) + net-dns (~> 0.8) + public_suffix (~> 1.4) + typhoeus (~> 0.7) + html-pipeline (1.9.0) + activesupport (>= 2) + nokogiri (~> 1.4) + i18n (1.0.1) + concurrent-ruby (~> 1.0) + jekyll (2.4.0) + classifier-reborn (~> 2.0) + colorator (~> 0.1) + jekyll-coffeescript (~> 1.0) + jekyll-gist (~> 1.0) + jekyll-paginate (~> 1.0) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 1.1) + kramdown (~> 1.3) + liquid (~> 2.6.1) + mercenary (~> 0.3.3) + pygments.rb (~> 0.6.0) + redcarpet (~> 3.1) + safe_yaml (~> 1.0) + toml (~> 0.1.0) + jekyll-coffeescript (1.0.1) + coffee-script (~> 2.2) + jekyll-feed (0.3.1) + jekyll-gist (1.4.0) + octokit (~> 4.2) + jekyll-mentions (0.2.1) + html-pipeline (~> 1.9.0) + jekyll (~> 2.0) + jekyll-paginate (1.1.0) + jekyll-redirect-from (0.9.1) + jekyll (>= 2.0) + jekyll-sass-converter (1.3.0) + sass (~> 3.2) + jekyll-seo-tag (0.1.4) + jekyll (>= 2.0) + jekyll-sitemap (0.9.0) + jekyll-watch (1.5.1) + listen (~> 3.0) + jemoji (0.5.0) + gemoji (~> 2.0) + html-pipeline (~> 1.9) + jekyll (>= 2.0) + kramdown (1.9.0) + liquid (2.6.2) + listen (3.1.5) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + ruby_dep (~> 1.2) + maruku (0.7.0) + mercenary (0.3.6) + mini_portile2 (2.3.0) + minitest (5.11.3) + multipart-post (2.0.0) + net-dns (0.8.0) + nokogiri (1.8.3) + mini_portile2 (~> 2.3.0) + octokit (4.9.0) + sawyer (~> 0.8.0, >= 0.5.3) + parslet (1.5.0) + blankslate (~> 2.0) + posix-spawn (0.3.13) + public_suffix (1.5.3) + pygments.rb (0.6.3) + posix-spawn (~> 0.3.6) + yajl-ruby (~> 1.2.0) + rb-fsevent (0.10.3) + rb-inotify (0.9.10) + ffi (>= 0.5.0, < 2) + rdiscount (2.1.8) + redcarpet (3.3.3) + rouge (3.2.1) + ruby_dep (1.5.0) + safe_yaml (1.0.4) + sass (3.5.7) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sawyer (0.8.1) + addressable (>= 2.3.5, < 2.6) + faraday (~> 0.8, < 1.0) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + thread_safe (0.3.6) + toml (0.1.2) + parslet (~> 1.5.0) + typhoeus (0.8.0) + ethon (>= 0.8.0) + tzinfo (1.2.5) + thread_safe (~> 0.1) + unicode-display_width (1.4.0) + yajl-ruby (1.2.3) + +PLATFORMS + ruby + +DEPENDENCIES + github-pages + rouge + +BUNDLED WITH + 1.16.4 diff --git a/_config.yml b/_config.yml index ded3c2285..e775674b4 100644 --- a/_config.yml +++ b/_config.yml @@ -4,7 +4,7 @@ url: http://localhost:4000 # Timezone configuration timezone: Asia/Tehran -pygments: true +highlighter: true markdown: kramdown permalink: date maruku: