چند سال پیش، در پروژه‌ای که یک سیستم مدیریت محتوای اختصاصی با PHP خالص می‌ساختم، یک باگ ساده ساعت‌ها وقتم را گرفت. مشکل، رفتار غیرمنتظره تابع array_merge() در برخورد با کلیدهای عددی بود که آرایه اصلی را بازنویسی می‌کرد. اگر یک Cheat Sheet خوب از Array Functions جلوی چشمم بود، آن باگ در چند دقیقه حل می‌شد. آن تجربه برای من روشن کرد که Cheat Sheet های PHP، در سطح روزمره، فقط یک ورق تقلب نیستند؛ ابزاری مهندسی برای کاهش بار شناختی و افزایش سرعت عیب‌یابی هستند. بوم PHP با بیش از پنج هزار تابع درونی، یکی از گسترده‌ترین زبان‌های برنامه‌نویسی است؛ هیچ توسعه‌دهنده‌ای نمی‌تواند تمام این توابع را در ذهن نگه دارد. تفاوت بین توسعه‌دهنده بهره‌ور و توسعه‌دهنده کند، اغلب در کیفیت ابزارهای مرجع اوست، نه در حافظه. این مقاله از دید کسی نوشته شده که سال‌ها روی پروژه‌های PHP کار کرده و یاد گرفته که Cheat Sheet خوب، یک شریک فنی است، نه یک برگه کاغذی.

Cheat Sheet PHP دقیقاً چه معنایی دارد؟

پیش از ورود به فهرست، تعریف دقیق ضروری است. Cheat Sheet (برگه تقلب) در ادبیات مهندسی نرم‌افزار، به سند کوتاه و متمرکزی گفته می‌شود که پرکاربردترین مفاهیم، توابع یا APIهای یک زبان یا ابزار را در ساختاری فشرده و سریع‌مرور ارائه می‌دهد. در بستر PHP، Cheat Sheet معمولاً پرکاربردترین توابع زبانی، ساختارهای کنترلی، الگوهای امنیتی و ابزارهای مرتبط را در یک یا دو صفحه جمع می‌کند. مرور کامل این مفهوم در Cheat Sheet چیست و چرا مفید است آمده است.

سه ویژگی بنیادی یک Cheat Sheet خوب PHP:

  1. فشردگی: تمام محتوا در یک یا دو صفحه، بدون شلوغی.
  2. تمرکز: فقط توابع پرکاربرد، نه هر پنج هزار تابع PHP.
  3. ساختار بصری: دسته‌بندی منطقی، جدول، رنگ، آیکون — برای سرعت مرور.

نکته مهم: Cheat Sheet جایگزین یادگیری عمیق نیست. Cheat Sheet برای یادآوری سریع است، نه برای یادگیری مفاهیم جدید. توسعه‌دهنده‌ای که فقط Cheat Sheet دارد، در پروژه‌های پیچیده شکست می‌خورد. مرور مبانی PHP در آموزش PHP از صفر برای مبتدیان و بهترین منابع یادگیری PHP در ۲۰۲۶ آمده است.

Cheat Sheet PHP، مثل کتابچه دستور زبان است. زبان را باید یاد گرفت، اما در لحظه نوشتن، مرجع سریع، تفاوت بین جمله درست و جمله نادرست است. توسعه‌دهنده حرفه‌ای، هر دو را دارد.

چرا توسعه‌دهندگان PHP به Cheat Sheet نیاز دارند؟

بوم PHP، یکی از بزرگ‌ترین کتابخانه‌های توابع درونی را دارد. PHP 8.x بیش از پنج هزار تابع درونی ارائه می‌دهد که در حوزه‌های مختلف تقسیم می‌شوند: Array، String، Math، Date، Filesystem، Network، Regex و غیره. هیچ توسعه‌دهنده‌ای نمی‌تواند تمام این توابع را در ذهن نگه دارد. پنج دلیل اصلی که Cheat Sheet ضروری می‌کند:

  1. حجم API: بیش از پنج هزار تابع درونی. حتی یک توسعه‌دهنده ارشد، از بیش از ده درصد این توابع به‌طور روزانه استفاده نمی‌کند.
  2. تغییرات سریع: هر سال ویژگی‌های جدید به PHP اضافه می‌شود. Cheat Sheet به‌روز، راهی برای دنبال کردن تغییرات است. مرور در تفاوت PHP 7 و PHP 8.
  3. Context Switching: جستجو در مستندات رسمی PHP، تمرکز توسعه‌دهنده را می‌شکند. Cheat Sheet در دسترس، تمرکز را حفظ می‌کند.
  4. یادآوری سریع: گاهی فقط یک یادآوری کوچک لازم است. Cheat Sheet آن یادآوری را در ثانیه فراهم می‌کند.
  5. یکنواختی تیمی: Cheat Sheet مشترک در تیم، به یکنواختی کد و کاهش اختلاف سبک کمک می‌کند.

در تجربه من، در تیم‌هایی که Cheat Sheet داخلی مشترک دارند، سرعت تولید کد به‌طور محسوس بالاتر است. دلیل، کاهش اختلاف سبک و کاهش زمان تصمیم‌گیری است. مرور ابزارهای مکمل در ابزارهای ضروری فول‌استک و ابزارهای آنلاین برای توسعه‌دهندگان.

انواع Cheat Sheetهای PHP

Cheat Sheetهای PHP در چند دسته قرار می‌گیرند، بر پایه سطح تخصص و کاربرد:

دستههدفمناسب برای
Beginner Cheat Sheetمبانی زبان، Syntax پایهتوسعه‌دهنده تازه‌کار
PHP 8.x Featuresویژگی‌های مدرن، Match، Enum، Attributeهمه سطوح
Array Functionsarray_map، array_filter، array_reduce و ۸۰ تابع دیگرتوسعه‌دهنده کاربردی
String Functionsstr_replace، preg_match، sprintfهمه سطوح
PDO و MySQLاتصال امن، Prepared Statementتوسعه‌دهنده بک‌اند
Composer و PSRPackage Management، Autoloading، Standardsتوسعه‌دهنده مدرن
Laravel Cheat SheetEloquent، Artisan، Bladeتوسعه‌دهنده Laravel
Symfony Cheat SheetDoctrine، Twig، Consoleتوسعه‌دهنده Symfony
Security Cheat SheetEscaping، Sanitization، Hashingهمه سطوح
Performance Cheat SheetOPcache، Profiling، Query Optimizationتوسعه‌دهنده Performance-محور
Regex Cheat Sheetالگوهای Regular Expressionتوسعه‌دهنده متن‌پرداز
WordPress Cheat SheetHooks، Template Tags، WP_Queryتوسعه‌دهنده وردپرس

نکته مهم: انتخاب Cheat Sheet، تابع سطح و نیاز فعلی است. توسعه‌دهنده تازه‌کار به Cheat Sheet مبانی و Array Functions نیاز دارد. توسعه‌دهنده باتجربه به Cheat Sheetهای تخصصی (Performance، Security، Framework). در تجربه من، بهترین رویکرد ترکیب دو یا سه Cheat Sheet است: یکی مبانی، یکی تخصصی حوزه فعلی، یکی مرجع سریع توابع.

Cheat Sheetهای PHP 8.x: تحول بنیادی

از سال ۲۰۲۰، PHP 8.x تحولات بنیادی در زبان ایجاد کرده. Cheat Sheetهای PHP 8.x، پرکاربردترین دسته در بوم امروزی هستند. محتوای این Cheat Sheetها معمولاً در هشت بخش اصلی تقسیم می‌شود:

Match Expression

// قبل از PHP 8
switch ($status) {
    case 1:
        $result = 'active';
        break;
    case 2:
        $result = 'inactive';
        break;
    default:
        $result = 'unknown';
}

// PHP 8+
$result = match($status) {
    1 => 'active',
    2 => 'inactive',
    default => 'unknown',
};

Constructor Property Promotion

// قبل از PHP 8
class User {
    private string $name;
    private int $age;

    public function __construct(string $name, int $age) {
        $this->name = $name;
        $this->age = $age;
    }
}

// PHP 8+
class User {
    public function __construct(
        private string $name,
        private int $age,
    ) {}
}

Named Arguments

function createUser(string $name, int $age, string $city = 'Tehran') {}

// PHP 8+
createUser(
    name: 'Ali',
    age: 30,
    city: 'Isfahan',
);

Nullsafe Operator

// قبل از PHP 8
$city = null;
if ($user !== null) {
    if ($user->address !== null) {
        $city = $user->address->city;
    }
}

// PHP 8+
$city = $user?->address?->city;

Union Types

// PHP 8+
function process(int|string $input): int|string {
    return $input;
}

Enums

// PHP 8.1+
enum Status: string {
    case Active = 'active';
    case Inactive = 'inactive';

    public function label(): string {
        return match($this) {
            Status::Active => 'فعال',
            Status::Inactive => 'غیرفعال',
        };
    }
}

$status = Status::Active;
echo $status->value; // 'active'
echo $status->label(); // 'فعال'

Readonly Properties

// PHP 8.1+
class User {
    public function __construct(
        public readonly string $name,
        public readonly int $age,
    ) {}
}

$user = new User('Ali', 30);
// $user->name = 'Sara'; // Error: Cannot modify readonly property

Attributes

#[Attribute]
class Route {
    public function __construct(public string $path) {}
}

class UserController {
    #[Route('/users')]
    public function index() {}
}

مرور کامل در تفاوت PHP 7 و PHP 8، آموزش شی‌گرایی در PHP و مدیریت خطا در PHP آمده است.

Cheat Sheetهای Type Declaration

Type Declaration، یکی از بنیادی‌ترین ویژگی‌های PHP 8.x است. Cheat Sheet این حوزه، به کاهش خطا در زمان اجرا کمک می‌کند. بخش‌های اصلی:

نوعتوضیحمثال
intعدد صحیحfunction add(int $a): int
floatعدد اعشاریfunction avg(float $n): float
stringرشتهfunction greet(string $name): string
boolبولینfunction isValid(bool $flag): bool
arrayآرایهfunction sum(array $nums): int
objectشیءfunction process(object $obj): void
mixedهر نوعیfunction log(mixed $data): void
voidبدون بازگشتfunction save(): void
neverهرگز بازنمی‌گرددfunction die(): never
nullتهیfunction reset(): ?string
Unionچند نوعfunction p(int|string $x): int|string
Intersectionچند کلاسfunction p(A&B $x): A&B

مرور کامل در تفاوت PHP 7 و PHP 8.

Cheat Sheetهای Array Functions

Array Functions، قلب پردازش داده در PHP هستند. بوم PHP بیش از ۸۰ تابع برای کار با آرایه‌ها دارد. Cheat Sheet این حوزه، پرکاربردترین Cheat Sheet بعد از PHP 8.x است. متدهای اصلی در چند دسته تقسیم می‌شوند:

Basic Operations

// Length
count($arr);

// Add
$arr[] = 'new';
array_push($arr, 'a', 'b');
array_unshift($arr, 'first');

// Remove
array_pop($arr);
array_shift($arr);

// Check
in_array('value', $arr);
array_key_exists('key', $arr);
isset($arr['key']);

Iteration و Transformation

// array_map - تبدیل هر عنصر
$names = array_map(fn($u) => $u['name'], $users);

// array_filter - فیلتر
$adults = array_filter($users, fn($u) => $u['age'] >= 18);

// array_reduce - تجمیع
$total = array_reduce($users, fn($sum, $u) => $sum + $u['age'], 0);

// array_walk - پیمایش با تغییر
array_walk($users, function(&$user) {
    $user['active'] = true;
});

Sorting

// Simple Sort
sort($arr);       // Ascending
rsort($arr);      // Descending

// Associative Sort
asort($arr);      // By Value
ksort($arr);      // By Key
arsort($arr);     // By Value Desc
krsort($arr);     // By Key Desc

// Custom Sort
usort($users, fn($a, $b) => $a['age'] <=> $b['age']);
uasort($users, fn($a, $b) => $a['age'] <=> $b['age']);

Combination

// Merge
$merged = array_merge($a, $b);

// Merge with Spread (PHP 7.4+)
$merged = [...$a, ...$b];

// Unique
$unique = array_unique($arr);

// Diff و Intersect
$diff = array_diff($a, $b);
$intersect = array_intersect($a, $b);

Extraction

// Keys و Values
$keys = array_keys($arr);
$values = array_values($arr);

// Slice
$slice = array_slice($arr, 1, 3);

// Column (PHP 5.5+)
$names = array_column($users, 'name');

مرور کامل در کار با آرایه‌ها در PHP.

تفاوت بین توسعه‌دهنده‌ای که Array Functions PHP را می‌داند و توسعه‌دهنده‌ای که نمی‌داند، در طول یک سال، چند صد ساعت تولید کد است. Cheat Sheet این تفاوت را در دسترس همه قرار می‌دهد.

Cheat Sheetهای String Functions

String Functions، دومین حوزه پرکاربرد در PHP هستند. Cheat Sheet این حوزه:

Basic

// Length
strlen($str);
mb_strlen($str, 'UTF-8'); // برای UTF-8

// Case
strtolower($str);
strtoupper($str);
ucfirst($str);
ucwords($str);

// Trim
trim($str);
ltrim($str);
rtrim($str);

Search و Replace

// Search
strpos($str, 'needle');       // Position
str_contains($str, 'needle'); // PHP 8+
str_starts_with($str, 'pre'); // PHP 8+
str_ends_with($str, 'suf');   // PHP 8+

// Replace
str_replace('old', 'new', $str);
preg_replace('/pattern/', 'new', $str);

Split و Join

// Split
$parts = explode(',', $str);
$chars = str_split($str, 2);

// Join
$result = implode(',', $arr);

Formatting

// sprintf
$msg = sprintf('Hello %s, you are %d years old', $name, $age);

// printf (print directly)
printf('Total: %01.2f Toman', $amount);

// number_format
$formatted = number_format(1234567.89, 2, '.', ',');

Regex (PCRE)

// Match
preg_match('/^[a-z]+$/i', $str, $matches);
preg_match_all('/d+/', $str, $matches);

// Replace
preg_replace('/s+/', ' ', $str);
preg_replace_callback('/d+/', fn($m) => $m[0] * 2, $str);

// Split
preg_split('/[,;]+/', $str);

مرور کامل در کار با رشته‌ها در PHP و آموزش Regex در PHP.

Cheat Sheetهای PDO و MySQL

PDO (PHP Data Objects)، استاندارد مدرن برای اتصال PHP به دیتابیس است. Cheat Sheet این حوزه، بخشی حیاتی برای توسعه‌دهندگان بک‌اند:

// Connection
$pdo = new PDO(
    'mysql:host=localhost;dbname=myapp;charset=utf8mb4',
    $user,
    $pass,
    [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        PDO::ATTR_EMULATE_PREPARES => false,
    ]
);

// Query (Prepared Statement)
$stmt = $pdo->prepare('SELECT * FROM users WHERE email = ?');
$stmt->execute([$email]);
$user = $stmt->fetch();

// Insert
$stmt = $pdo->prepare('INSERT INTO users (name, email) VALUES (?, ?)');
$stmt->execute([$name, $email]);
$id = $pdo->lastInsertId();

// Update و Delete
$stmt = $pdo->prepare('UPDATE users SET name = ? WHERE id = ?');
$stmt->execute([$name, $id]);

// Named Parameters
$stmt = $pdo->prepare('SELECT * FROM users WHERE name = :name AND age > :age');
$stmt->execute([':name' => $name, ':age' => $age]);

// Fetch Modes
$stmt->fetch();                    // یک ردیف
$stmt->fetchAll();                 // همه ردیف‌ها
$stmt->fetchColumn(0);             // یک ستون از یک ردیف
$stmt->fetchObject(User::class);   // به‌عنوان Object

// Transaction
try {
    $pdo->beginTransaction();
    // عملیات
    $pdo->commit();
} catch (Exception $e) {
    $pdo->rollBack();
    throw $e;
}

مرور کامل در آموزش PDO در PHP، اتصال PHP به MySQL و SQL Injection چیست آمده است.

Cheat Sheetهای Composer و PSR

Composer، سیستم مدیریت Package PHP است. Cheat Sheet این حوزه، برای هر پروژه مدرن PHP ضروری است:

# نصب Package
composer require vendor/package

# نصب Package برای توسعه
composer require --dev phpunit/phpunit

# حذف Package
composer remove vendor/package

# به‌روزرسانی
composer update
composer update vendor/package

# Autoload
composer dump-autoload

# نصب از composer.lock
composer install

# PSR-4 Autoload در composer.json
{
    "autoload": {
        "psr-4": {
            "App\": "src/"
        }
    }
}

مرور کامل در آموزش Composer در PHP و آموزش شی‌گرایی در PHP.

Cheat Sheetهای Laravel

Laravel، محبوب‌ترین Framework PHP است. Cheat Sheet Laravel، یکی از پرکاربردترین Cheat Sheetهای تخصصی:

Artisan

php artisan make:model User
php artisan make:controller UserController
php artisan make:migration create_users_table
php artisan make:middleware AuthMiddleware
php artisan make:seeder UserSeeder

php artisan migrate
php artisan db:seed
php artisan route:list
php artisan cache:clear
php artisan config:cache
php artisan queue:work

Eloquent

// Find
User::find(1);
User::where('age', '>', 18)->get();
User::where('name', 'like', '%Ali%')->first();
User::orderBy('created_at', 'desc')->take(10)->get();
User::paginate(15);

// Insert و Update
User::create(['name' => 'Ali', 'email' => 'ali@example.com']);
$user->update(['name' => 'Sara']);

// Relationships
$user->posts;               // HasMany
$post->user;                // BelongsTo
$user->posts()->where(...)->get();

// Eager Loading
User::with('posts')->get();

Blade

@if ($condition)
    <p>Active</p>
@elseif ($other)
    <p>Inactive</p>
@else
    <p>Unknown</p>
@endif

@foreach ($users as $user)
    <p>{{ $user->name }}</p>
@endforeach

{{ $variable }}          {{-- Escaped --}}
{!! $html !!}            {{-- Unescaped (خطرناک) --}}

@include('partials.header')
@extends('layouts.app')
@section('content') ... @endsection

مرور کامل در Laravel برای توسعه سریع وب و قابلیت‌های پیشرفته Laravel.

Cheat Sheetهای Symfony

Symfony، Framework سازمانی PHP است. Cheat Sheet این حوزه:

Console

php bin/console make:controller
php bin/console make:entity
php bin/console make:migration
php bin/console doctrine:migrations:migrate

php bin/console cache:clear
php bin/console debug:router
php bin/console debug:container

Doctrine

// Repository
$userRepo = $entityManager->getRepository(User::class);
$user = $userRepo->find(1);
$users = $userRepo->findBy(['active' => true]);

// Query Builder
$qb = $userRepo->createQueryBuilder('u');
$users = $qb->where('u.age > :age')
    ->setParameter('age', 18)
    ->orderBy('u.createdAt', 'DESC')
    ->setMaxResults(10)
    ->getQuery()
    ->getResult();

// Persist و Flush
$entityManager->persist($user);
$entityManager->flush();

مرور کامل در تفاوت فریم‌ورک‌های بک‌اند و پایگاه داده مناسب بک‌اند.

Cheat Sheetهای امنیت در PHP

Cheat Sheet امنیت PHP، بخشی حیاتی برای هر پروژه جدی است. بخش‌های اصلی:

// Password Hashing
$hash = password_hash($password, PASSWORD_DEFAULT);
if (password_verify($input, $hash)) {
    // صحیح
}

// Escaping (XSS Prevention)
htmlspecialchars($str, ENT_QUOTES | ENT_HTML5, 'UTF-8');

// SQL Injection Prevention (PDO)
$stmt = $pdo->prepare('SELECT * FROM users WHERE id = ?');
$stmt->execute([$id]);

// CSRF Token
session_start();
$_SESSION['csrf'] = bin2hex(random_bytes(32));

// Input Validation
$email = filter_var($email, FILTER_VALIDATE_EMAIL);
$age = filter_var($age, FILTER_VALIDATE_INT, [
    'options' => ['min_range' => 18, 'max_range' => 120],
]);

// Random
$token = bin2hex(random_bytes(32));  // برای توکن‌های امنیتی
$id = random_int(1000, 9999);        // برای اعداد تصادفی امن

// File Upload Validation
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($finfo, $file['tmp_name']);
// فقط MIME مجاز را قبول کنید

مرور کامل در امنیت در PHP، نوشتن کد PHP امن و امنیت بک‌اند چه نکاتی دارد.

Cheat Sheetهای Performance در PHP

Cheat Sheet Performance PHP، برای پروژه‌هایی که به کارایی حساس هستند:

// OPcache Configuration (php.ini)
opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0  // در Production

// String Concatenation در حلقه
// بد
$str = '';
foreach ($items as $item) {
    $str .= $item;
}

// خوب
$str = implode('', $items);

// Buffer با Output Buffering
ob_start();
// عملیات تولید HTML
$html = ob_get_clean();

// File Read
// کوچک: file_get_contents()
// بزرگ: fopen + fgets برای Streaming

// isset() سریع‌تر از array_key_exists()
if (isset($arr['key'])) { }

// استفاده از Generators به‌جای آرایه‌های بزرگ
function getLines(string $file): Generator {
    $handle = fopen($file, 'r');
    while (($line = fgets($handle)) !== false) {
        yield $line;
    }
    fclose($handle);
}

// Caching با APCu
if (apcu_exists($key)) {
    $data = apcu_fetch($key);
} else {
    $data = compute();
    apcu_store($key, $data, 3600);
}

مرور کامل در بهینه‌سازی کدهای PHP، بهینه‌سازی عملکرد بک‌اند و تاثیر دیتابیس بر سرعت سایت.

معیارهای انتخاب Cheat Sheet PHP

در انتخاب Cheat Sheet برای استفاده روزمره، پنج معیار بنیادی:

  1. به‌روز بودن: Cheat Sheet باید ویژگی‌های PHP 8.x و 8.3+ را پوشش دهد.
  2. ساختار بصری: جدول، رنگ، Icon و دسته‌بندی منطقی.
  3. مثال‌های عملی: هر تابع با مثال کاربردی، نه فقط توضیح.
  4. چگالی مفید: فقط توابع پرکاربرد، بدون شلوغی.
  5. قابل دسترسی: Printable، PDF یا Online، برای دسترسی سریع.

در تجربه من، Cheat Sheetهای Overloaded (شلوغ) کمتر استفاده می‌شوند. Cheat Sheet خوب، در یک یا دو صفحه، همه پرکاربردها را دارد. مرور بیشتر در چگونه Cheat Sheet بسازیم.

ساختار بهینه یک Cheat Sheet مدرن PHP

ساختار یک Cheat Sheet مدرن PHP، معمولاً در چند بخش تخصصی تقسیم می‌شود:

  • Basic Syntax: متغیر، تابع، حلقه، شرط.
  • PHP 8.x Features: Match، Enum، Attribute، Nullsafe.
  • Type Declaration: Type Hint، Return Type، Union Type.
  • Array Functions: ۸۰ تابع پرکاربرد.
  • String Functions: str_replace، preg_match، sprintf.
  • File و Directory: file_get_contents، fopen، glob.
  • Date و Time: DateTime، strtotime، Carbon.
  • PDO و Database: Connection، Query، Transaction.
  • Composer و PSR: Package، Autoload، Standard.
  • Security: Hashing، Escaping، Validation.
  • Error Handling: try/catch، Custom Exception.
  • Performance: OPcache، Generator، Caching.
  • Framework: Laravel، Symfony (اختیاری).
  • Anti-Patterns: SQL Injection، XSS، File Inclusion.

Cheat Sheetهای معتبر در بازار، معمولاً ۱۰۰ تا ۱۵۰ تابع پرکاربرد را در همین ساختار پوشش می‌دهند. مرور Cheat Sheetهای مشابه در Cheat Sheetهای HTML، Cheat Sheetهای CSS، Cheat Sheetهای JavaScript و Cheat Sheetهای MySQL آمده است.

ابزارهای خودکار تولید Cheat Sheet

در سال‌های اخیر، ابزارهای خودکار برای تولید Cheat Sheet از روی کد یا مستندات شکل گرفته‌اند:

  • DevDocs.io: مرجع آنلاین که مستندات چند زبان و ابزار را در یک رابط سریع جمع می‌کند. شامل PHP.
  • Dash (macOS): اپلیکیشن Offline برای دسترسی به مستندات PHP و سایر زبان‌ها.
  • Zeal (Windows/Linux): جایگزین متن‌باز Dash، شامل PHP Docs.
  • PHP Manual: مستندات رسمی PHP با قابلیت جستجو و مثال‌های کاربردی.
  • Cheat.sh: ابزار CLI با پشتیبانی از PHP.
  • GitHub Gist: بستر اشتراک‌گذاری Cheat Sheetهای شخصی و تیمی.
  • Laravel API Docs: مرجع سریع برای Laravel.
  • Symfony Docs: مستندات رسمی Symfony.

در تجربه من، ترکیب Cheat Sheet PDF (برای دسترسی Offline) + DevDocs یا Dash (برای جستجو سریع) + GitHub Gist داخلی تیم (برای Cheat Sheetهای پروژه‌محور) بهترین نتیجه را می‌دهد. مرور ابزارهای مشابه در نقد نرم‌افزار Visual Studio Code، افزونه‌های ضروری مرورگر و ابزارهای آنلاین برای توسعه‌دهندگان.

Cheat Sheet PHP خوب، مثل مستندات رسمی نیست که پنج هزار تابع را فهرست کند؛ Cheat Sheet صد تابع پرکاربرد را می‌آورد. تفاوت این دو، تفاوت بین دایرةالمعارف و جیب است.

جدول مقایسه Cheat Sheetهای معروف PHP

Cheat Sheetپوششفرمتمناسب برای
PHP.net ManualکاملOnlineمرجع اصلی
DevHints.io/phpمتمرکزOnlineمرور سریع
OverAPI.com/phpمتمرکزOnlineمرجع سریع
Cheatography PHPچند نسخهPDFCheat Sheet چاپی
Awesome PHP (GitHub)منابعMarkdownمرجع تیمی
Laravel Cheat SheetLaravelOnline PDFتوسعه‌دهنده Laravel
Symfony Cheat SheetSymfonyOnlineتوسعه‌دهنده Symfony
PHP 8 Cheat SheetPHP 8+Onlineویژگی‌های مدرن
PDO Cheat SheetPDOOnlineکار با دیتابیس
WordPress Cheat SheetWordPressOnlineتوسعه‌دهنده وردپرس

Cheat Sheet در برابر مستندات رسمی PHP

یکی از پرسش‌های رایج: Cheat Sheet جایگزین مستندات رسمی PHP است؟ پاسخ صریح: نه، مکمل است. تفاوت‌ها در سه محور:

محورCheat Sheetمستندات رسمی
هدفمرور سریعمرجع کامل
پوشش۱۰۰ تا ۱۵۰ تابع۵۰۰۰+ تابع
حجمکوتاهطولانی
زمان مطالعهدقیقهساعت
مناسب براییادآوری، مروریادگیری، حل مسئله جدید

در تجربه من، توسعه‌دهنده حرفه‌ای از هر دو استفاده می‌کند: Cheat Sheet برای کار روزمره، مستندات رسمی برای یادگیری ویژگی جدید یا حل مسئله پیچیده. Cheat Sheet خوب، معمولاً به مستندات رسمی PHP لینک می‌دهد. مرور منابع مشابه در منابع ضروری توسعه‌دهندگان وردپرس و بهترین منابع یادگیری PHP در ۲۰۲۶.

مطالعه‌ای از یک پروژه واقعی

چند سال پیش، در یک تیم PHP با هشت توسعه‌دهنده، با چالش ناهمگونی سبک کد مواجه شدیم. هر توسعه‌دهنده سبک خودش را داشت: بعضی از array_push() استفاده می‌کردند و بعضی از $arr[] =؛ بعضی از foreach و بعضی از array_map؛ بعضی از mysql_* قدیمی و بعضی از PDO. این ناهمگونی در Code Review زمان‌بر و بحث‌برانگیز می‌شد.

مسیر حل، سه فاز داشت:

فاز اول — ساخت Cheat Sheet داخلی: تیم یک Cheat Sheet ۸ صفحه‌ای ساخت که سبک کد استاندارد تیم را تعریف می‌کرد: Array Functions، PDO، Type Declaration، Error Handling، Naming Convention و Security Patterns. این Cheat Sheet در GitHub Gist تیم نگهداری می‌شد و در README پروژه لینک شده بود.

فاز دوم — ادغام در PHP CS Fixer و PHPStan: قواعد Cheat Sheet به PHP CS Fixer (برای سبک) و PHPStan (برای Type Safety) منتقل شد. هر Commit که قواعد را نقض می‌کرد، در Pre-commit Hook رد می‌شد.

فاز سوم — بازبینی دوره‌ای: Cheat Sheet هر سه ماه بازبینی و به‌روزرسانی می‌شد. ویژگی‌های جدید PHP 8.x اضافه و قواعد قدیمی حذف می‌شدند.

نتیجه بعد از شش ماه:

  • زمان Code Review از میانگین ۹۰ دقیقه به ۳۰ دقیقه کاهش یافت.
  • تعداد Commentهای سبک کد در Pull Requestها هشتاد درصد کاهش یافت.
  • پوشش تست از چهل درصد به هشتاد درصد رسید.
  • زمان ورود توسعه‌دهنده جدید از چهار هفته به دو هفته کاهش یافت.

درس اصلی این پروژه: Cheat Sheet داخلی تیم، از یک ورق تقلب شخصی به یک ابزار ساختاری تبدیل می‌شود. در تیم‌های بزرگ، ساخت Cheat Sheet مشترک، سرمایه‌گذاری با بازگشت سریع است. مرور بیشتر در اصول کدنویسی تمیز و استانداردهای کدنویسی وردپرس.

اشتباهات رایج در استفاده از Cheat Sheet PHP

این اشتباهات را در پروژه‌ها زیاد دیده‌ام:

  • استفاده از Cheat Sheet به‌جای یادگیری: Cheat Sheet برای یادآوری است، نه یادگیری. توسعه‌دهنده‌ای که فقط Cheat Sheet دارد، در پروژه‌های پیچیده شکست می‌خورد.
  • Cheat Sheet قدیمی: استفاده از Cheat Sheet که سه سال آپدیت نشده، به استفاده از توابع منسوخ منتهی می‌شود (مثل mysql_* که در PHP 7 حذف شد).
  • Cheat Sheet Overloaded: Cheat Sheet ۵۰ صفحه‌ای که همه‌چیز را پوشش می‌دهد، دیگر Cheat Sheet نیست.
  • نبود Cheat Sheet داخلی تیم: تیم بدون Cheat Sheet مشترک، ناهمگونی سبک پیدا می‌کند.
  • نادیده گرفتن Type Declaration: Cheat Sheet مختصر، Type Declaration را کوتاه می‌کند. اگر Type Declaration را درست یاد نگیرید، Cheat Sheet بی‌فایده است.
  • عدم لینک به مستندات رسمی: Cheat Sheet خوب، به مستندات رسمی PHP لینک می‌دهد.
  • Cheat Sheet Mono-Source: تکیه بر یک Cheat Sheet بدون مقایسه با منابع دیگر.
  • عدم چاپ یا Offline: Cheat Sheet آنلاین که در شرایط قطعی اینترنت در دسترس نیست.
  • عدم Personalization: Cheat Sheet عمومی بدون تطبیق با نیاز شخصی و پروژه‌ای.
  • نادیده گرفتن Framework-Specific: Cheat Sheet PHP عمومی برای پروژه‌های Laravel یا Symfony کافی نیست. نیاز به Cheat Sheet تخصصی Framework هم هست.
  • عدم به‌روزرسانی: PHP هر سال نسخه جدید منتشر می‌کند. Cheat Sheet سال گذشته، ممکن است ویژگی‌های PHP 8.4 را نداشته باشد.

پرسش‌های پرتکرار درباره Cheat Sheetهای PHP

پرسش‌هایی که در جلسات مشاوره زیاد می‌شنوم، با پاسخ کوتاه و عملی:

Cheat Sheet PHP در یک جمله چیست؟

Cheat Sheet PHP، سند کوتاه و متمرکزی است که پرکاربردترین توابع و الگوهای زبان PHP را در ساختاری سریع‌مرور ارائه می‌دهد. هدف، کاهش بار شناختی و افزایش سرعت کار روزمره است.

کدام Cheat Sheet PHP بهترین است؟

پاسخ تک‌گزینه‌ای وجود ندارد. برای مرجع سریع: DevHints.io، OverAPI.com/php و PHP.net Manual. برای Cheat Sheet تیمی: Awesome PHP در GitHub. برای Laravel: Laravel Cheat Sheet. انتخاب بر پایه نیاز و سطح است.

آیا Cheat Sheet جایگزین یادگیری است؟

نه. Cheat Sheet برای یادآوری سریع است، نه یادگیری. توسعه‌دهنده باید مفاهیم را یاد بگیرد و از Cheat Sheet به‌عنوان مرجع روزمره استفاده کند.

آیا از Cheat Sheetهای چاپی استفاده کنیم یا آنلاین؟

هر دو. Cheat Sheet چاپی برای مرور سریع روی میز. Cheat Sheet آنلاین برای جستجو با Ctrl+F. در تجربه من، ترکیب هر دو بهترین نتیجه را می‌دهد.

Cheat Sheet PHP شامل چه بخش‌هایی باشد؟

یک Cheat Sheet مدرن PHP حداقل این بخش‌ها را دارد: Basic Syntax، PHP 8.x Features، Type Declaration، Array Functions، String Functions، File Handling، Date/Time، PDO، Composer/PSR، Security، Error Handling، Performance.

چند وقت یک بار Cheat Sheet را آپدیت کنیم؟

هر شش ماه. با هر نسخه جدید PHP (سالانه)، ویژگی‌های جدید اضافه می‌شود. Cheat Sheet قدیمی، به استفاده از توابع منسوخ منتهی می‌شود.

آیا Cheat Sheet مختصر یا کامل بهتر است؟

مختصر. Cheat Sheet با ۱۰۰ تا ۱۵۰ تابع پرکاربرد بهترین است. Cheat Sheet ۵۰۰ تابع، دیگر Cheat Sheet نیست.

چطور Cheat Sheet داخلی تیم بسازیم؟

سه گام: اول، جمع‌آوری سبک کد فعلی تیم. دوم، تدوین قواعد استاندارد در یک Cheat Sheet کوتاه. سوم، ادغام در PHP CS Fixer و PHPStan و بازبینی دوره‌ای. مرور در چگونه Cheat Sheet بسازیم.

آیا Cheat Sheet برای PHP 8.x هم لازم است؟

بله، و ضروری است. PHP 8.x ویژگی‌های بنیادی جدیدی مثل Match، Enum، Attribute، Nullsafe اضافه کرده. Cheat Sheet بدون این ویژگی‌ها، ناقص است.

آیا Cheat Sheet به‌جای GitHub Copilot کافی است؟

نه، مکمل است. Copilot برای تولید کد، Cheat Sheet برای درک و مرور. توسعه‌دهنده حرفه‌ای از هر دو استفاده می‌کند. مرور تأثیر هوش مصنوعی در هوش مصنوعی چگونه به برنامه‌نویسی کمک می‌کند و بهترین ابزارهای هوش مصنوعی برای کدنویسی.

کدام Cheat Sheet برای مصاحبه شغلی PHP مفید است؟

Cheat Sheetهای Array Functions، String Functions، PDO و Security پرکاربردترین در مصاحبه‌های PHP هستند. مرور در چگونه کدنویسی حرفه‌ای یاد بگیریم با منطق مشابه.

آیا Cheat Sheetهای وردپرسی هم وجود دارند؟

بله. Cheat Sheetهای WordPress شامل Hookها، تابع‌های $wpdb، Template Tagها و REST API. مرور در Cheat Sheetهای وردپرس.

چطور Cheat Sheet را در VS Code نگه داریم؟

سه گزینه: اول، افزونه Snippets. دوم، افزونه Markdown Preview برای فایل Cheat Sheet. سوم، پنجره جداگانه با Markdown. مرور در نقد Visual Studio Code و افزونه‌های ضروری VS Code.

آیا Cheat Sheetهای هوش مصنوعی جایگزین منابع کلاسیک می‌شوند؟

تا حدی. ابزارهایی مثل ChatGPT می‌توانند Cheat Sheet شخصی تولید کنند. اما Cheat Sheet کلاسیک همچنان برای مرور سریع، چاپ و دسترسی Offline ارزش دارد. مرور در چگونه از ChatGPT برای یادگیری برنامه‌نویسی استفاده کنیم.

آیا Cheat Sheet برای PHP خالص و Framework تفاوت دارد؟

بله. Cheat Sheet PHP خالص روی توابع زبان تمرکز دارد. Cheat Sheet Framework (Laravel، Symfony) روی Eloquent، Artisan، Blade، Doctrine، Twig و ابزارهای Framework.

بهترین روش یادگیری با Cheat Sheet PHP چیست؟

سه گام: اول، یادگیری مفاهیم از منابع آموزشی. دوم، مرور Cheat Sheet قبل از پروژه. سوم، استفاده روزمره از Cheat Sheet در حین کار. Cheat Sheet جایگزین یادگیری نیست، مکمل آن است.

آیا Cheat Sheetهای PHP روی موبایل قابل استفاده هستند؟

بله. با اپلیکیشن‌هایی مثل DevDocs Offline، Dash موبایل یا PDF در Google Drive، Cheat Sheet در دسترس موبایل است. برای مرور سریع در حین کار، گزینه مناسبی است.

آیا Cheat Sheetهای PHP برای امنیت کافی هستند؟

Cheat Sheet امنیت، نقطه شروع است. برای امنیت واقعی، باید مستندات OWASP، CWE و سایر مراجع تخصصی را دنبال کنید. مرور در امنیت بک‌اند چه نکاتی دارد، امنیت در PHP و اشتباهات امنیتی رایج وب.

آنچه در انتخاب Cheat Sheet PHP قاطع است

Cheat Sheetهای PHP در سطح مدرن، از یک ورق تقلب شخصی به ابزاری ساختاری و تیمی تبدیل شده‌اند. تفاوت بین توسعه‌دهنده بهره‌ور و توسعه‌دهنده کند، اغلب در کیفیت ابزارهای مرجع اوست، نه در حافظه. Cheat Sheet خوب، سرعت یادآوری، یکنواختی کد و کاهش بار شناختی را فراهم می‌کند.

سه اولویت عملی برای شروع: اول، از Cheat Sheetهای تخصصی حوزه فعلی خود شروع کنید — Array Functions، PDO، PHP 8.x. دوم، یک Cheat Sheet داخلی تیم بسازید که سبک کد استاندارد را تعریف کند. سوم، Cheat Sheet را هر شش ماه بازبینی کنید. اگر این سه اولویت رعایت شود، Cheat Sheet از یک ابزار جانبی به یک مزیت ساختاری تبدیل می‌شود.

اگر در پروژه‌ای تجربه‌ای از ساخت یا استفاده از Cheat Sheet PHP داشته‌اید — به‌خصوص سناریوهایی که یک Cheat Sheet مشخص بهبود چشمگیری در بهره‌وری تیم ساخت — برایم جالب است بدانید کدام حوزه در آن Cheat Sheet قاطع‌ترین بود: Array Functions، PDO، PHP 8.x یا Security. تجربه‌تان را در دیدگاه‌ها بنویسید؛ به‌خصوص اگر Cheat Sheet یا رویکرد مؤثری دارید که در این مقاله به آن اشاره نشده. 🐘