پکیج چیست؟
به عنوان یک توسعهدهنده PHP، باید با نحوه استفاده از فریمورکها آشنا باشید. فریمورکها با سادهسازی روشهای رایج مورد استفاده در توسعه پروژههای بزرگ وب مانند پکیجها، ماژولها، افزونهها و حتی کامپوننتها، سعی دارند روند توسعه را آسان کنند. اگر در حال گذراندن دوره آموزش لاراول هستید، این مقاله باورژن درباره بهترین پکیجهای لاراول را از دست ندهید.
پکیجهای لاراول
لاراول یکی از محبوبترین فریمورکها برای توسعه اپلیکیشنهای وب است که یک محیط توسعه ساده و سریع برای توسعهدهندگان ارائه میدهد. هدف لاراول این است که کارهای روتین پروژههای وب مانند احراز هویت، روتینگ، سشنها و کشکردن را که خستهکننده هستند را حذف کند و روند توسعه را ساده و سادهتر کند. با استفاده از لاراول کار توسعهدهندگان برای انجام عملیات تعریفشده سفارشی آسان میشود. به عنوان مثال شما میتوانید از روشهای مختلف دسترسی به پایگاه دادههای رابطهای، تزریق وابستگی و موارد دیگر از طریق این پکیجها استفاده کنید.
پکیجهای لاراول دو نوع هستند. بعضی از آنها مستقل از فریمورک و برخی دیگر برای یک فریمورک خاص هستند. این آموزش به طور انحصاری بهترین پکیجهای لاراول موجود در بازار توسعه را پوشش میدهد.
یک مزیت بزرگ استفاده از پکیجهای لاراول این است که به همه فیچرهایی که فریمورک به برنامه میزبان آن ارائه میدهد از جمله روتینگ، مایگریشنها، تستها، ویوها و بسیاری از فیچرهای مفید دیگر دسترسی دارد. یکی دیگر از مزایای مهم یک پکیج، اصل خود را تکرار نکن یا DRY است.
در این پست بهترین پکیجهای لاراول را که باید بشناسید و بهتر است مرتباً در اپلیکشنهای لاراول استفاده کنید را نشان خواهیم داد.
روند توسعه پکیج لاراول
برای توسعه پکیج لاراول، هنگام نوشتن پکیجها، پکیج شما معمولاً به همه راهنماهای تست لاراول دسترسی نخواهد داشت. اگر میخواهید تستهای پکیج خود را طوری بنویسید که گویا در یک اپلیکیشن معمولی لاراول وجود دارد، میتوانید از پکیج Orchestral Testbench استفاده کنید.
1. فایل Composer.json خود را برای پکیج جدید تنظیم کنید2. ارائهدهنده سرویس را اضافه کنید
3. نام مستعار تنظیم کنید
4. کلاس Facade ایجاد کنید
موارد بالا چهار مرحله مهمی هستند که باید برای نوشتن یک پکیج لاراول برای روند توسعه سریع خود بدانید.
بهترین پکیجهای لاراول
پکیجهای زیادی برای لاراول وجود دارد که باعث میشود اپلیکیشنها سریعتر و سریعتر عمل کنند و خودشان از عوامل امنیتی و عملکردی مراقبت میکنند. در ادامه پکیجهای برتر لاراول که میتوانید برای بهینهسازی عملکرد برنامه خود استفاده کنید را معرفی میکنیم.
1. پکیج Spatie لاراول
نقشها و پرمیشنها بخش مهمی از اپلیکیشنهای وب را تشکیل میدهند. لاراول پکیجهای زیادی برای آنها در نظر گرفته و کد اصلی را نیز بهبود بخشیده است. Spatie Roles & Permission یکی از بهترین پکیجهای مجوز است.
مزایا:
- Roles
- Direct Permissions
- Artisan commands
- Multiple Blade Directives
- Middleware
- Permission
2. پکیج Entrust
این پکیج راهی انعطافپذیر برای افزودن مجوزهای مبتنی بر نقش به اپلیکیشن لاراول 5 شما ارائه میدهد. این پکیج چهار جدول ایجاد میکند:
جدول roles table برای ذخیره سوابق رولها
جدول permissions table برای ذخیرهسازی سوابق مجوز
جدول role_user برای ذخیره روابط یک به چند بین نقشها و کاربران
جدول permission_role برای ذخیره روابط بین چندین نقش بین نقشها و مجوزها
با نوشتن کد زیر میتوانید role ایجاد کنید
$admin = new Role();
$admin->name = 'admin';
$admin->display_name = 'User Administrator'; // optional
$admin->description = 'User is allowed to manage and edit other users'; // optional
$admin->save();
نحوه اختصاص نقش به کاربران را بررسی کنیم:
user = User::where('username', '=', 'michele')->first();
$user->attachRole($admin);
Now, you must give permissions to these roles:
$createPost = new Permission();
$createPost->name = 'create-post';
$createPost->display_name = 'Create Posts';
$createPost->description = 'create new blog posts';
$createPost->save();
$admin->attachPermission($createPost);
3. پکیج Laravel Debugbar
Laravel Debugbar یکی از بهترین پکیجهای لاراول است که به کاربران کمک میکند یک نوار ابزار توسعهدهنده به اپلیکیشن خود اضافه کنند. این پکیج عمدتا برای دیباگ کردن استفاده میشود. آپشنهای زیادی در Debugbar وجود دارد. برای مثال در تب Timeline نحوه عملکرد بخشهای مختلف اپلیکیشن و اینکه چقدر طول میکشد تا یک تسک انجام شود را بررسی میکنیم. یا در تب Views، ویوها و اطلاعاتی که به آنها پاس دادهایم را مشاهده میکنیم.
وقتی اپلیکیشن بزرگی را طراحی میکنیم، کارکرد این تب بینظیر است و برای پیچیدگیهای زیاد استفاده از آن باعث میشود تا راحتتر کار کنیم. با تب ویو اطمینان حاصل میکنیم که اطلاعات به ویو ارسال شده است یا نه.
Debugbar::info($object);
Debugbar::error('Error!');
Debugbar::warning('Watch out…');
Debugbar::addMessage('Another message', 'mylabel')
4. پکیج Laravel User Verification
این پکیج به شما امکان میدهد تائیدیه کاربر را کنترل کنید و ایمیل را تأیید میکند. پکیج User Verification یک رمز تأیید برای کاربر رجیستر شده ایجاد و ذخیره میکند، یک ایمیل با لینک توکن تأیید ایمیل ارسال میکند یا در صف قرار میگیرد، تأیید رمز را کنترل میکند، کاربر را به عنوان کاربر تأیید شده ست میکند.
public function register(Request $request)
{
$this->validator($request->all())->validate();
$user = $this->create($request->all());
event(new Registered($user));
$this->guard()->login($user);
UserVerification::generate($user);
UserVerification::send($user, 'My Custom E-mail Subject');
return $this->registered($request, $user)
?: redirect($this->redirectPath());
5. پکیج Socialite
Socialite یک روش ساده و آسان برای کنترل احراز هویت OAuth ارائه میدهد. پکیج Socialite لاراول این امکان را به کاربران میدهد تا از طریق محبوبترین شبکهها و سرویسهای اجتماعی از جمله Facebook ،Twitter ،Google ،GitHub و BitBucket وارد سیستم شوند.
$user = Socialite::driver('github')->user();
// OAuth Two Providers
$token = $user->token;
$refreshToken = $user->refreshToken; // not always provided
$expiresIn = $user->expiresIn;
// All Providers
$user->getId();
$user->getName();
$user->getEmail();
$user->getAvatar();
6.Laravel Mix
Laravel Mix که پیش از این با نام Laravel Elixir شناخته میشد، یک رابط برنامهنویسی برنامه کاربردی (API) تمیز و غنی برای تعریف مراحل ساخت پکیج وب برای پروژه شما فراهم میکند. این پکیج قدرتمندترین ابزار جمعآوری دارایی است که امروزه برای لاراول موجود است.
mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css');
7. پکیج Eloquent-Sluggable
Slugging فرآیند ایجاد یک نسخه ساده و URL-friendly از یک رشته با تبدیل آن به یک حالت و حذف فاصله، حروف برجسته، امپرسند (&) و غیره است. با استفاده از Eloquent models، بهراحتی میتوانید برای همه Eloquent-Sluggable در پروژه خود اسلاگ ایجاد کنید.
class Post extends Eloquent
{
use Sluggable;
protected $fillable = ['title'];
public function sluggable() {
return [
'slug' => [
'source' => ['title']
]
];
}
}
$post = new Post([
'title' => 'My Awesome Blog Post',
]);
// $post->slug is "my-awesome-blog-post
8. پکیج Migration Generator
Migration Generator یک پکیج لاراول است که با استفاده از آن میتوانید مایگریشنها را از یک پایگاه داده موجود، از جمله indexes و foreign keys ایجاد کنید. وقتی دستور زیر را اجرا میکنید، میتوانید برای همه جداول موجود در پایگاه داده خود، مایگریشن ایجاد کنید.
php artisan migrate:generate
9. پکیج Laravel Backup
این پکیج لاراول از همه فایلهای شما بکآپ تهیه میکند. به این صورت که یک فایل zip شامل تمام فایلها در دایرکتوریهایی که شما مشخص کردهاید، به همراه یک پایگاه داده ایجاد میکند. میتوانید یک نسخه بکآپ را روی هر سیستم فایلی ذخیره کنید. برای ایجاد نسخه بکآپ، تنها کاری که باید انجام دهید اجرای دستور زیر است:
php artisan backup:run
10. پکیج No Captcha
No Captcha پکیجی برای پیادهسازی اعتبار Google reCaptcha و محافظت از فرمها در برابر هرزنامه و اسپم است. برای استفاده از آن ابتدا باید یک کلید API رایگان از reCaptcha تهیه کنید.
NoCaptcha::shouldReceive('verifyResponse')
->once()
->andReturn(true);
$response = $this->json('POST', '/register', [
'g-recaptcha-response' => '1',
'name' => 'Pardeep',
'email' => 'pardeep@example.com',
'password' => '123456',
'password_confirmation' => '123456',
]);
11. پکیج Laravel GraphQL
GraphQL یک زبان جستجوی داده است که جایگزینی برای معماری REST سنتی ارائه میدهد. توسعهدهندگان ساختار دادههای مورد نیاز را تعریف میکنند و همان ساختار را از سرور میگیرند. این پکیج به شما کمک میکند GraphQL را در اپلیکیشنهای لاراول خود ست و استفاده کنید.
ایجاد پنل مدیریت لاراول
دو گروه بزرگ تولیدکننده پنل مدیریت وجود دارد: سازندگان بصری و مبتنی بر کنسول. این انتخاب به تنظیمات شما بستگی دارد، شاید دوست داشته باشید از GUI استفاده کنید یا دستورات Artisan را با پارامتر تایپ کنید.
اصطلاح مهمی که باید در اینجا بخاطر بسپارید CRUD است. این اصطلاح مخفف "Create, Read , Update, Delete " است که عملیات اصلی عناصر سازنده تمام پنلهای مدیریت هستند.
12. پکیج LaraAdmin: پنل مدیریت + CRM
بعد از نصب و ورود به پنل مدیریت خود، این پکیج به شما امکان میدهد که ماژولهایی را به صورت بصری نشان دهید که CRUDهای شما را نشان دهند.
13. پکیج Orchid
پلتفرم RAD برای ساخت یک اپلیکیشن تجاری با استفاده از فریمورک لاراول به خوبی کار میکند. این پکیج میتواند به عنوان هسته اصلی اپلیکیشنهای وب عمل کند یا اینکه عملکردهایCMS ،CMF یا پنل مدیریت وب سایت شما را انجام دهد.
پکیجهای Ecommerce لاراول
14. Bagisto
Bagisto یک پکیج تجارت الکترونیکی اپنسورس لاراول است که در مدت زمان بسیار کوتاهی توانسته نظر جامعه لاراول را به خود جلب کند. این برنامه مدیریت کاربر لاراول out-of-the-box، گزینههای مدیریت موجودی چند انبار و موارد دیگر را ارائه میدهد.
همچنین، پکیج لاراول CMS همراه با پیمایش پنل مدیریت داخلی کاربرپسند است، قابلیتهایی مانند چندارزی، محلیسازی، سطح کنترل دسترسی، چند کانال، ادغام پرداخت و موارد دیگر را ارائه میدهد.
15. پکیج AvoRed
بهراحتی میتوانید سبد خرید متنباز لاراول را متناسب با نیاز خود سفارشی کنید. به طور پیشفرض یک طرح رابط کاربر پسند ارائه میدهد، به همین دلیل یکی از بهترین پکیجهای SEO لاراول نیز نامیده میشود.
این پلتفرم به شما امکان میدهد برای پیگیری سفارش، اطلاعات مشتری و مدیریت موجودی و غیره، موجودیتهای محصول مانند دسته، ویژگیها و غیره را با قابلیت مدیریت کارآمد سفارش ایجاد کنید.
16. پکیج Laravel Telescope
تلسکوپ لاراول یک دیباگر PHP زیبا برای فریمورک لاراول است. این برنامه بینش واضحی از ریکوئستهای وارد شده به اپلیکیشن شما، exceptions، ورودیهای لاگ، کوئریهای پایگاه داده، کارهای در صف، ایمیل، نوتیفیکیشنها، عملکردهای کش، کارهای برنامهریزی شده و موارد دیگر را فراهم میکند. پکیج تلسکوپ یک همراه عالی برای محیط توسعه محلی لاراول شما ایجاد میکند.
سخن آخر
در این مقاله از باورژن بهترین پکیجهای لاراول را با هم بررسی کردیم که برای بهینهسازی بهرهوری پروژه خود استفاده کنید. لاراول سهولت یکپارچهای را در اختیار توسعهدهندگان برای اجرای عملیات تعریفشده به صورت سفارشی قرار میدهد. با انتخاب یکی از این پکیجها، کاربران میتوانند به راحتی وظایف خود را با پکیجها انجام دهند. استفاده از پکیجهایی که به شما در انجام کارهای کاربردی کمک میکنند به نیازهای پروژه شما بستگی دارد.
رقیه اباذری
تو دانشگاه IT خوندم و اکثر منابع کتابهای ترجمه شده بودند و صدالبته مبهم :( مثلا element رو "عنصر" ترجمه میکردن و من همیشه میرفتم تو شیمی و جدول مندلیف. تو باورژن سعی کردم تا حد ممکن مطالب رو با زبان ساده و قابل درک بنویسم. باشد که کسانی که تازه پا به عرصه برنامهنویسی گذاشتن، راغبتر بشن و با نظرات و فیدبکهای شما راه هموارتر بشه:)
دیدگاهها
ثبت دیدگاه