آموزش های ویدیویی رایگان برنامه نویسی و وب

ساختار فایل ها در لاراول ( Laravel ) ؛ سری آموزش های لاراول

0

در این سری از آموزش ها قصد آموزش قسمت به قسمت لاراول را داریم.در مطلبی که در گذشته منتشر کردیم ٬ آموزش نصب لاراول در ویندوز را بصورت کامل توضیح دادیم.در این مطلب ابتدا به توضیح ساختار فایل ها در لاراول می پردازیم و در قسمت های بعدی ٬ نحوه ساخت Restful API را توضیح خواهیم داد.

توجه : توضیحات مورد نیاز به نصب لاراول را در پست ” آموزش نصب لاراول ” داده شده است.

همانطور که در زمان نصب به خاطر داریم یک پوشه را جهت نصب لاراول انتخاب میکردیم. پس الان به داخل آن پوشه میرویم و پوشه لاراول که شامل پوشه ها و فایل های لاراول است را باز میکنیم.

ما در این آموزش به صورت کلی فایل های لاراول را بررسی میکنیم.

پوشه اصلی فایل های لاراول

پوشه لاراول شما باید شامل فایل های نشان داده شده در عکس باشد.

خب همان طور که گفتم در این آموزش به بررسی تک تک فایل ها و پوشه های لاراول میپردازیم و ساختار دایرکتوری لاراول را بررسی میکنیم.

ساختار فایل های لاراول
پوشه اصلی ساختار فایل های لاراول

فایل .env – ساختار فایل های لاراول

شاید برایتان سوال باشد چرا ابتدا به سراغ این فایل آمده ایم. این فایل شامل خط کد هایی برای ارتباط با database و تنظیمات خود سایت یا برنامه شماست.

در خط اول نام پروژه خود را تعیین میکنیم

APP_NAME= project_name

در پایین تر ارتباط با دیتابیس را تنظیم میکنیم

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=db_user
DB_PASSWORD=db_userpass

در کد های بالا به دیتابیس mysql با نام database_name توسط کاربر db_user و کلمه عبور db_userpass متصل شده ایم.

اتصال به دیتابیس و مدل دیتابیس شما بستگی به نوع پروژه ای دارد که میخواهید انجام دهید.

تنظیمات دیگری نیز در این فایل وجود دارد مانند آدرس url پروژه شما

APP_URL=http://localhost

در صورتی که به صورت محلی و روی سیستم خودتان در حال بررسی فایل لاراول هستید تغییری در این آدرس ایجاد نکنید.

در این فایل کار های دیگری برای تنظیم سرویس mail و سرویس PUSHER (برای استفاده از socket) نیز انجام میپذیرد

پوشه app در ساختار اصلی فایل ها در لاراول

این پوشه مهم ترین پوشه پروژه است و در این پوشه فایل ها و پوشه هایی قرار دارد که بررسی آن ها میپردازیم. داخل پوشه app پوشه Console وجود دارد که شامل فایل kernel.php میباشد و دستورات اعلام شده در Inspire.php را فراخوانی می کند.

در پوشه Exceptions میتوانیم خطا های مربوطه را کنترل کنیم و برای هر خطا حالت خاصی را برنامه نویسی کنیم.

در پوشه Http دو پوشه Controllers و Middleware وجود دارد.

همان طور که قبلا هم گفته بودم ساختار معماری لارول MVC است (Model–view–controller) که بخش کنترل های پروژه از پوشه Controllers قابل اضافه شدن و ویرایش است که درخواست های از سمت سرور را کنترل میکند.

در پوشه Middleware ما میتوانیم محدودیت های و فیلتر هایی بر روی کنترلر ها بگذاریم (مثلا شرط لاگین بود یوزر).

پوشه Providers شامل همه ارائه دهندگان خدمات مورد نیازمان برای ثبت رویداد های پروژه را در خود دارد.

همچنین model های ساختار MVC ما نیز در این جا قرار میگیرد که به صورت پیشفرض فایل user.php را مشاهده میکنید.

پوشه bootstrap در ساختار اصلی فایل ها در لاراول

این پوشه شامل فایل های راه انداز پروژه میباشد و شامل پوشه cache که تمام فایل های مورد نیاز برای کش کردن پروژه وب را در خود دارد و فایل app.php که برای اجرای برنامه نیاز است ، میشود.

پوشه config در ساختار اصلی فایل ها در لاراول

شامل تمام فایل های پیکربندی پروژه لاراول جهت کارکرد مناسب خود میباشد.

پوشه database در پوشه اصلی فایل ها در Laravel

این پوشه خود، شامل سه پوشه برای کار با پایگاه داده میباشد

در پوشه migrations با استفاده از دستورات لاراول میتوانید پایگاه داده خود را طراحی کنید و به صورت خودکار با فراخوانی مایگریشن ها دیتابیس خود را بسازید

در پوشه factories میتوانید داده های ساختگی برای جدول های خود ایجاد کنید.

پوشه seeds شامل کلاس هایی جهت تست پایگاه داده شماست

پوشه public در پوشه اصلی فایل ها در Laravel

شامل فایل هایی برای طراحی دیزاین سایت ماست. و توسط asset قابل دسترسی است.

پوشه resources در فولدر اصلی فایل ها در Laravel

این پوشه که هدف ارتقا سایت ما را بر عهده دارد شامل سه فایل است:

پوشه js شامل فایل های جاوااسکریپت ، پوشه lang شامل فایل های زبان سایت ، پوشه sass شامل فایل های کامپایل نشده sass برای استایل دهی پروژه است

در داخل پوشه views ، فایل های view که از ساختار MVC بوجود آمده اند وجود دارد و فایل های نمایش پروژه ما و رابط کاربری پروژه را بر عهده دارد وجود دارد.

فایل های views باید با فرمت blade.php. بوجود بیایند تا برای لاراول قابل تشخیص باشد.

پوشه routes در فولدر اصلی فایل ها در لاراول ( Laravel )

شامل فایل هایی برای مسیر دهی به درخواست های سرور هست.

فایل web.php برای تعیین مسیر های دستیابی از طریق فایل های وب است و به صورت پیشفرض تحت نظر رمز نگاری کوکی ها و CSRF-Token محافظت میشوند

همان طور که میدانید امکان ساخت API با لاراول وجود دارد که فایل api.php برای تعیین مسیر های دستیابی API مورد استفاده قرار میگیرد.

فایل console.php برای تعیین آدرس های دستورات خط فرمان در نظر گرفته شده است.

فایل channels.php که برای ثبت تمام Event هایی که در طول پروژه وجود دارد در نظر گرفته شده است.

البته باید این نکته را یاد آور شد این تقسیم بندی برای راحتی است .

پوشه storage ساختار اصلی فایل ها در لاراول ( Laravel )

در این پوشه فایل هایی قرار دارد که در جریان پروژه توسط لاراول کامپایل یا ساخته میشوند.

که شامل سه پوشه میشود:

پوشه app که شامل فایل های تولید شده در حین پروژه میباشد.

پوشه framework که برای ذخیره فایل ها و کش های پروژه به کار میرود.

پوشه logs که لاگ های(logs) خودفریمورک را در خود ذخیره میکند.

پوشه tests

که فایل های تست پروژه یا Unit Test داخل این پوشه قرار میگیرد.

پوشه vendor

شامل تمام وابستگی ها و کامپوننت های داخل کامپوزر است.

سایر فایل های پوشه اصلی ساختار فایل ها در لاراول ( Laravel ) …

فایل .env.example نمونه ای از یک فایل .env است.

فایل .gitattributes و فایل .gitignore برای تنظیمات git به کار میروند (Git محیطی برای اشتراک گذاری پروژه برنامه نویسی با سایر اعضای تیم است.)

فایل artisan که دستورات خط فرمان (Command Line‌) فرمان artisan را دریافت و اجرا میکند.

فایل composer.json و فایل composer.lock که تنظیمات Composer در آن وجود دارد و فقط فایل composer.json توسط توسعه دهندگان قابل ویرایش میباشد.

فایل package.json که مشابه composer.json است با این تفاوت که برای فرانت مورد استفاده قرار میگیرد و وابستگی فایل های html ، css و js را انجام میدهد.

فایل phpunit.xml که تنظیمات ابزار های تست را داخل خود نگه داری میکنند.

فایل server.php که مانند سرور پشتیبان عمل کرده و پروژه را برای اجرا در سطح مرورگر آماده میکند.

فایل webpack.mix.js که در خود تنظیمات Elixir را در سطح پروژه شما در خود نگه داری میکند.

چنان چه سوالی در مورد ساختار فایل ها در لاراول داشتید و یا نظر و پیشنهادی در مورد این مطلب داشتید میتوانید در بخش کامنت ها با ما درمیان بگذارید.

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.