۱۴۰۰/۰۷/۳۰

Bundle در فریم ورک سیمفونی Symfony

Bundle در فریم ورک سیمفونی Symfony ۱۳۹۸/۰۴/۲۶

bundle ها در سیموفنی تقریبا مشابه پلاگین ها در وردپرس و در فریم ورک های دیگر هستند.با این تفاوت که قابل انعطاف تر و در ساختار های منظمی قرار گرفته اند که می توان انها را به راحتی کاستومایز کرد و برعکس پلاگین ها در وردپرس که بشدت بی نظم اسپاگتی هستند.

یک باندل شامل فایل ها یی برای تمپلیت و کنترل و entity ها برای مدیریت پایگاه داده هستند که بصورت منظم در دایرکتوری ها مربوطه قرار گرفته اند 

مدریت Bundle ها در سیموفنی در کلاس AppKernrl انجام میشود که میتوان هر باندل را در این کلاس فعال و یا غیر فعال کنیم .

// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
new SymfonyBundleFrameworkBundleFrameworkBundle(),
new SymfonyBundleSecurityBundleSecurityBundle(),
new SymfonyBundleTwigBundleTwigBundle(),
new SymfonyBundleMonologBundleMonologBundle(),
new SymfonyBundleSwiftmailerBundleSwiftmailerBundle(),
new SymfonyBundleDoctrineBundleDoctrineBundle(),
new SensioBundleFrameworkExtraBundleSensioFrameworkExtraBundle(),
new AppBundleAppBundle(),
);

if (in_array($this->getEnvironment(), array('dev', 'test'))) {
$bundles[] = new SymfonyBundleWebProfilerBundleWebProfilerBundle();
$bundles[] = new SensioBundleDistributionBundleSensioDistributionBundle();
$bundles[] = new SensioBundleGeneratorBundleSensioGeneratorBundle();
}

return $bundles;
}

با متد registerBundles() شما می توانید یک Bundle را به اپلیکیشن خود اضافه و یا حذف کنید.

برای ایجاد یک bundle جدید در برنامه خود میتوان از دستور 

php bin/console generate:bundle --namespace=Acme/TestBundle

استفاده کرد -nameSpace اختیاری است اگر نیاز به یک namespace یونیک دارید از این پارامتر استفاده کنید.

بعد از اجرا دستور بالا فریم ورک سیمفونی یک باندل جدید به نام TestBundle به برنامه شما اضافه میکند.این باندل جدید در پوشه testBundle ساخته شده که شامل فایل های و پوشه هایی میباشد..((بطور مثل من برای ساخت cpanel وب سایت یک باندل ایجاد میکنم به نام adminBundle و برای بخش front وب سایت باندلی به نام FrontBundle در این جا من با  استفاده از bundle وب سایت را به دو بخش کلی تقسیم کردم  بصورت کاملا منظم و با دسترسی اسان.))

 

در پوشه testBundle پوشه ها و فایل های ایجاد میشود که به شرح هر کدام از این پوشه ها میپردازیم.

Controller:فایل ها مربوط به کنترلر در این پوشه قرار میگیرند در سیموفنی بیشتر عملیات اجرایی مانند دستورات برای اجرا کویری و یا پردازش اطلاعات در کنترلر انجام میشود.

Resources:در این پوشه فایل مربوط به view سایت قرار میگیرد .سیموفنی از template engine به نام Twig استفاده میکند.شما می توانید با تغییرپیکربندی حالت ‍پیشفرض را تغییر دهید و از twig استفاده نکنید .

Entity:البته این ‍پوشه در ابتدا ساخته نمیشود .ولی بعد از ایجاد کلاس مربوط به جداول  پوشه ای به نام entity در bundle شما ساخته میشود که ساختار جدول های بکار رفته در bundle در خود قرار میدهد .که بسیار قدرتمند و جالب است کار با  پایگاه داده ها در سیمفونی .از هر ابزاری که تصور آن را میکنید میتوان در اینجا استفاده کرد.


رای :

symfony

Bundle

سیمفونی

فریم ورک

framework

ارسال نظر
Copyright © All right reserved.