PDA

View Full Version : سوال: نحوه نگهداری و توسعه پروژه لاراول



Dark Lord
دوشنبه 09 شهریور 1394, 19:37 عصر
سلام دوستان یه سیستم مدیریت محتوای کوچیک با لاراول نوشتم که یک سری ویژگی‌های موردنظر کلاینت‌هام رو برطرف میکنه، الان مشکل اینجاست که من سیستم رو باتوجه به نیاز هرکدوم از کاربرها شخصی‌سازی و براشون راه اندازی میکنم، درواقع در کنار viewهای هر سایت که طبیعتا متفاوت هستند، کنترلرهای سایت‌های کلاینت‌هام با هم متفاوته و حتی برخی از اونها شامل برخی امکانات میشن که بقیه ندارن، حالا برای اضافه کردن یک قابلیت جدید به کل سیستم یا اعمال یک بهبود در سیستم که تو همه اینها اعمال بشه مشکل دارم. میخواستم لطف کنید یکم درباره نگهداری و توسعه صحیح سیستم راهنماییم کنید، یا حداقل منابعی رو برای مطالعه معرفی بفرمایید. فکر کنم اگر امکانات مورد نظر رو به صورت ماژول پیاده سازی کنم مشکل حل بشه در این باره هم اگر منابعی هست ممنون میشم معرفی کنید.

djtrex
چهارشنبه 11 شهریور 1394, 01:37 صبح
سلام دوستان یه سیستم مدیریت محتوای کوچیک با لاراول نوشتم که یک سری ویژگی‌های موردنظر کلاینت‌هام رو برطرف میکنه، الان مشکل اینجاست که من سیستم رو باتوجه به نیاز هرکدوم از کاربرها شخصی‌سازی و براشون راه اندازی میکنم، درواقع در کنار viewهای هر سایت که طبیعتا متفاوت هستند، کنترلرهای سایت‌های کلاینت‌هام با هم متفاوته و حتی برخی از اونها شامل برخی امکانات میشن که بقیه ندارن، حالا برای اضافه کردن یک قابلیت جدید به کل سیستم یا اعمال یک بهبود در سیستم که تو همه اینها اعمال بشه مشکل دارم. میخواستم لطف کنید یکم درباره نگهداری و توسعه صحیح سیستم راهنماییم کنید، یا حداقل منابعی رو برای مطالعه معرفی بفرمایید. فکر کنم اگر امکانات مورد نظر رو به صورت ماژول پیاده سازی کنم مشکل حل بشه در این باره هم اگر منابعی هست ممنون میشم معرفی کنید.

همینجور که خودتونم هم گفتید بهترین راه حل ماژولار کار کردن هست. برای اینکار میتونید از پکیج های composer-based استفاده کنید و هر جا نیاز داشتید اونو به فایل composer.json اضافه کنید.

برای طراحی پکیج برای لاراول:
http://laravel.com/docs/5.1/packages

اینم ۲ تا از ویدیوهایی که امروز از کنفرانس Laracon EU 2015 هفته پیش منتشر شده و در مورد توسعه پکیج هاست:
Package Development - Hannes Van De Vreken - Laracon EU
https://www.youtube.com/watch?v=lreUaGnOOYs

Ben Corlett - Bridging the Gap
https://www.youtube.com/watch?v=jV4iPSHbonk

برای دیدن پکیج های دیگران هم میتونید به این سایت برید:
http://packalyst.com/packages

برای نمونه:

محیط ادمین:
https://github.com/pingpong-labs/admin
http://laravelpanel.com/

Oauth2:
https://github.com/lucadegasperi/oauth2-server-laravel

Logviewer:
https://github.com/rap2hpoutre/laravel-log-viewer

برای تعریف مجوز و role:
https://cartalyst.com/manual/sentry/2.1
Gate که به تازگی به لارال ۵.۱.۱۱ اضافه شده:
http://laravel.com/docs/5.1/authorization

وبلاگ
https://github.com/RowlandOti/ooglee-blogmodule

لاگین با سرویس های اجتماعی مثل فیسبوک/توییتر و ...
https://github.com/laravel/socialite

----------------------------------------

همچنین راه دیگه استفاده از پکیج pingpong/modules هست که فرايند ماژول ماژول کردن سیستم رو آسون میکنه هر ماژول به عنوان مثال Blog یه همچین ساختاری خواهد داشت:



laravel-app/
app/
bootstrap/
vendor/
modules/
├── Blog/
├── Assets/
├── Config/
├── Console/
├── Database/
├── Migrations/
├── Seeders/
├── Entities/
├── Http/
├── Controllers/
├── Middleware/
├── Requests/
├── routes.php
├── Providers/
├── BlogServiceProvider.php
├── Resources/
├── lang/
├── views/
├── Repositories/
├── Tests/
├── composer.json
├── module.json
├── start.php


مستندات :
http://sky.pingpong-labs.com/docs/2.0/modules
(http://sky.pingpong-labs.com/docs/2.1/modules)
البته غیر از modules چیزهای دیگه هم داره مثل Theme,Menu,Widget و ...

Dark Lord
چهارشنبه 11 شهریور 1394, 20:28 عصر
آخرین گزینه که معرفی کردید به نظر جالبه. یه چیز شبیه HMVC هست که من دنبالش بودم. تشکر.