Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
source 'https://rubygems.org'
gem 'github-pages', group: :jekyll_plugins
gem 'rouge'
156 changes: 156 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ url: http://localhost:4000
# Timezone configuration
timezone: Asia/Tehran

pygments: true
highlighter: true
markdown: kramdown
permalink: date
maruku:
Expand Down
13 changes: 8 additions & 5 deletions _posts/01-02-01-Use-the-Current-Stable-Version.md
Original file line number Diff line number Diff line change
@@ -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
54 changes: 45 additions & 9 deletions _posts/01-04-01-Mac-Setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 [email protected]
```

می توانید بین نسخه های مختلف 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
21 changes: 11 additions & 10 deletions _posts/03-02-01-Programming-Paradigms.md
Original file line number Diff line number Diff line change
Expand Up @@ -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