آموزش ساختار استاندارد و بهینه پروژه PHP به سبک گوگل
مقدمه: چرا ساختار پوشهبندی پروژه اهمیت دارد؟
یکی از بزرگترین چالشهای برنامهنویسان تازهکار PHP، نوشتن کدهای درهمتنیده (Spaghetti Code) و قرار دادن تمام فایلها در ریشه (Root) پروژه است. بر اساس استانداردهای مدرن توسعه وب و راهنماهای گوگل برای توسعه نرمافزار تمیز، یک پروژه وب باید ساختاری داشته باشد که امنیت، سرعت بارگذاری، قابلیت تست و توسعهپذیری آن را تضمین کند.
در این مقاله، ما یک معماری استاندارد و استاندارد بینالمللی PHP (مطابق با PSR-4) را طراحی میکنیم که مورد تایید بهترین شرکتهای نرمافزاری دنیا از جمله گوگل است.
نمای کلی ساختار پروژه استاندارد PHP
ساختار یک پروژه استاندارد معمولاً به شکل زیر سازماندهی میشود:
my-php-project/
├── config/
│ └── config.php
├── public/
│ ├── css/
│ ├── js/
│ └── index.php
├── src/
│ ├── Controllers/
│ ├── Models/
│ └── Core/
├── templates/
├── vendor/
├── composer.json
└── .gitignore
توضیح بخشهای اصلی ساختار استاندارد:
- پوشه public: این تنها پوشهای است که باید از اینترنت قابل دسترسی باشد. فایل اصلی ورود برنامه (index.php) و فایلهای استاتیک مانند تصاویر، CSS و جاوا اسکریپت در اینجا قرار میگیرند. این امر امنیت پروژه را به شدت افزایش میدهد زیرا کدهای هسته برنامه خارج از ریشه وب سرور قرار دارند.
- پوشه src: تمام کدهای اصلی پروژه (کلاسها، مدلها، کنترلرها و منطق بیزینس) در این بخش قرار دارند و از استاندارد فضای نام (Namespace) استفاده میکنند.
- پوشه config: شامل تنظیمات پروژه مانند اطلاعات اتصال به پایگاه داده است.
- پوشه templates: فایلهای نمایشی (HTML/PHP View) در این قسمت ذخیره میشوند تا ساختار کد از ساختار نمایش مجزا باشد.
پیادهسازی گام به گام
گام اول: پیکربندی Composer و قابلیت Autoloading (PSR-4)
برای مدیریت کلاسها و وابستگیها بدون نیاز به نوشتن مکرر دستور require، از کامپوزر استفاده میکنیم. فایل composer.json را در ریشه پروژه بسازید:
{
"name": "google-style/standard-project",
"description": "A clean PHP project structure based on Google standards",
"autoload": {
"psr-4": {
"App\\": "src/"
}
}
}
پس از ساخت این فایل، دستور composer install یا composer dump-autoload را در ترمینال اجرا کنید.
گام دوم: ساخت نقطه ورود یکتا (Front Controller)
فایل index.php در پوشه public نقش هماهنگکننده اصلی برنامه را دارد. تمام درخواستها به این فایل ارسال شده و از اینجا مسیردهی میشوند:
// public/index.php
// 1. بارگذاری خودکار کلاسها
require_once __DIR__ . '/../vendor/autoload.php';
// 2. بارگذاری تنظیمات پروژه
$config = require_once __DIR__ . '/../config/config.php';
// 3. نمونهسازی از هسته برنامه و اجرای آن
use App\Core\Application;
$app = new Application();
$app--->run();
گام سوم: ایجاد هسته برنامه در پوشه src
یک کلاس ساده برای مدیریت منطق برنامه در مسیر src/Core/Application.php ایجاد میکنیم:
namespace App\Core;
class Application
{
public function run()
{
echo "برنامه با موفقیت اجرا شد!";
}
}
کدهای شما بر اساس ساختار استاندارد و بهینه گوگل لود شدهاند.
نتیجهگیری و مزایای سئو تکنیکال برای گوگل
وقتی ساختار پروژه شما به این شیوه باشد، امنیت سرور به شدت بالا رفته و از نشت اطلاعات حساس مانند فایلهای پیکربندی جلوگیری میشود. همچنین جداسازی کدهای بکاند از فرانتاند باعث تمیزی و لود سریعتر صفحات میشود. افزایش سرعت لود صفحات (TTFB) یکی از مهمترین فاکتورهای الگوریتمهای رتبهبندی گوگل (Core Web Vitals) است.
پرسش و پاسخ
نظری یافت نشد
برای ارسال نظر ابتدا وارد شوید