xzs 1112
4 سال پیش توسط xzs 1112 مطرح شد
15 پاسخ

یوشه بندی لارول

اگه لاراول فریم وورک محبوبی هست چرا پوشه بندیش انقدر مزخرفه
مدل ها و ویو ها و کنترل ها هر کدوم یه جایی هستند
مدل ها که همینجوری تو پوشه اپ هستند و پوشه ای ندارند

و یا نمیشه یه اسم دیگه واسه پوشه بوت استرپ بگذارند

میشه این پوشه ها را کاستمایز کرد ؟
این پوشه ها را جا به جا کرد
یا
نام پوشه بوت استرپ را عوض کرد


ثبت پرسش جدید
محمد امیری
تخصص : backend coder
@mohammadeng3731 4 سال پیش آپدیت شد
2

سلام.
اگه مشکلتون پوشه bootstrap هستش میتونید عوضش کنید ولی داخل فایل index.php باید اونجا هم تغییرات رو اعمال کنید.
اگه مشکلتون جای view هاست برید داخل config/view.php و اونجا مسیر رو تغییر بدید
اگه مشکلتون جای مدل هاست میتونید موقع ایجاد مدل در کامند با یک namespace ساده پشتش جاشو عوض کنید.
کلا فکر همه جاشو کردن و اینکه شما میگید مزخرفه به خاطر نداشتن تخصص کافی در لاراول هستش.
در ضمن ساختار mvc باید جای view و مدل و کنترلر متفاوت باشه


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
1

@xzs1112
سلام.
لاراول یکی از بهترین فریم ورک های موجود هستش و تقریبا در 12 سال گذشته، بیش از 2000 نفر در ساخت اون همکاری کردن و اگر ساختارش مشکلی داشت، قاعدتا تغییر پیدا می کرد.
ساختار لاراول بر اساس MVC هستش پس قاعدتا نباید انتظار داشت همه چیز یکجا قرار داشته باشه.

در مورد namespace هم شما می تونید شخصی سازی کنید ولی واقعا نیازی نیست.
البته درمورد مدل ها، قراره در نسخه 8 که در 18 شهریور منتشر میشه، به صورت رسمی به پوشه app\Models منتقل بشه که همونطور که گفتم شما می تونید همین الان هم این کار رو انجام بدید.

تنها موردی که می مونه و درک نمی کنم چرا باهاش مشکل دارید، اسم bootstrap هستش. چرا میخواید که اسمش رو تغییر بدید؟


محمد امیری
تخصص : backend coder
@mohammadeng3731 4 سال پیش آپدیت شد
2

سلام.
اگه مشکلتون پوشه bootstrap هستش میتونید عوضش کنید ولی داخل فایل index.php باید اونجا هم تغییرات رو اعمال کنید.
اگه مشکلتون جای view هاست برید داخل config/view.php و اونجا مسیر رو تغییر بدید
اگه مشکلتون جای مدل هاست میتونید موقع ایجاد مدل در کامند با یک namespace ساده پشتش جاشو عوض کنید.
کلا فکر همه جاشو کردن و اینکه شما میگید مزخرفه به خاطر نداشتن تخصص کافی در لاراول هستش.
در ضمن ساختار mvc باید جای view و مدل و کنترلر متفاوت باشه


saman
@saman1111 4 سال پیش مطرح شد
0

سلام
جواب ها رو دوستان دادند فقط چیزی که برام جالبه اینه که چه مشکلی با نام پوشه بوت استرپ دارید ؟
با vendor مشکلی ندارید ؟‌


xzs 1112
@xzs1112 4 سال پیش مطرح شد
0

چون گفتم بوت استرپ با سی اس اس اشتباه گرفته میشه؟
یه چیز دیگه پوشه node_modules
4750 پوشه دارد این همه پوشه بندی لازم هست راهی نیست کمشون کرد؟
همینطور vendor
1700 تا پوشه داره


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
1

@xzs1112
طبق گفته هاتون مشخصه که شما PHP و Node.js رو تازه شروع کردید. پیشنهاد می کنم اول PHP رو یاد بگیرید بعد برید سراغ فریمورکی مثل Laravel.

bootstrap به معنی راه انداز هستش و هیچ ربطی به فریمورک bootstrap در CSS نداره.

دایرکتوری هایی هم که اشاره کردید محل ذخیره شدن پکیج های دو زبان هستند.
vendor مربوط به پکیج های PHP و node_modules مربوط به پکیج های Node.js (JavaScript).


xzs 1112
@xzs1112 4 سال پیش مطرح شد
0

میدونم راه انداز هست ولی میتونست مثلا بگه بوت تنها یا هر چی دیگه
خوب این همه پوشه به گمونم واقعا ضروری نیست واسه پکیج ها


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
1

@xzs1112
ساختار استاندارد PSR-4 هستش.
پیشنهاد میکنم PHP رو قبل از لاراول به خوبی یاد بگیرید. این رو به این دلیل میگم چون اگر با این میزان از دانش و ذهنیت وارد لاراول بشید، مدام به مشکل می خورید و همگی ریشه در عدم دانش کافی در PHP خواهد بود.


saman
@saman1111 4 سال پیش مطرح شد
1

@xzs1112
شما هیچ نیازی به باز کردن پوشه های node_modules و vendor ندارید.
اون ها خودشون کار خودشون رو انجام میدن.

حتما اول PHP رو یاد بگیرید و بعد به سراغ لاراول برید.

فعلا چند ماه به خودتون فرصت بدید تا PHP رو خوب یاد بگیرید. عجله نکنید


electera
@electera 4 سال پیش مطرح شد
1

اگر این ساختار اذیتتون میکنه پیشنهاد میکنم از جنگو استفاده کنید.
تقریباً با 4 تا فایل سروکار دارین که در همه اپ ها هست و یک فولدر تمپلت برای ویوها.
و البته که در فولدر venv کلی لایبرری و اسکریپت هست که در حالت معمول نیازی به باز کردن نیست.

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


mkt
@mkt 4 سال پیش مطرح شد
-1

@mohammadeng3731
@mohsenbostan
وقت بخیر

خواهشاً اینقدر از عدم تخصص و آگهی حرف نزنید بلاخره این آگهی و تخصص را هم ایشون بعد چند پروژه بدست میارن

شما بیایید علت این که لاراول نیومده خیلی ساده دایرکتوری های مدل ویو و کنترلر را کنار هم قرار بده حرف بزنید که بشه جواب سوال نه این که به متن سوال اعتراض کنید

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


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
1

@mkt

دلایل پوشه بندی رو چندین بار توضیح دادیم اما مشخص هستش که ایشون به تازگی از فرانت اومدن و قصد دارن مستقیم وارد لاراول بشن.
پوشه بندی های لاراول هم واقعاً از نظر من بی‌نقص هستش مخصوصاً برای پروژه های بزرگ، میشه مدیریت خاصی رو فایل ها داشت.


mkt
@mkt 4 سال پیش مطرح شد
-1

@mohsenbostan

وقت بخیر

هیچ جا توضیح ندادید

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

شما بیایید علت این که لاراول نیومده خیلی ساده دایرکتوری های مدل ویو و کنترلر را کنار هم قرار بده حرف بزنید که بشه جواب سوال نه این که به متن سوال اعتراض کنید


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
1

@mkt

ساختار لاراول بر اساس MVC هستش پس قاعدتا نباید انتظار داشت همه چیز یکجا قرار داشته باشه.
در مورد namespace هم شما می تونید شخصی سازی کنید ولی واقعا نیازی نیست.
البته درمورد مدل ها، قراره در نسخه ۸ که در ۱۸ شهریور منتشر میشه، به صورت رسمی به پوشه app\Models منتقل بشه که همونطور که گفتم شما می تونید همین الان هم این کار رو انجام بدید.

bootstrap به معنی راه انداز هستش و هیچ ربطی به فریمورک bootstrap در CSS نداره.
دایرکتوری هایی هم که اشاره کردید محل ذخیره شدن پکیج های دو زبان هستند.
vendor مربوط به پکیج های PHP و node_modules مربوط به پکیج های Node.js (JavaScript).


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
1

مزخرف؟
اکثر فریم‌ورک های مبتنی بر معماری MVC همین ساختار رو دارند
شما یه پروژه ASP.net Core از نوع MVC هم که بسازی این ۳ تا فولدر رو به شکل پیش فرض میبینی
داخل فریم‌ورک Ruby on Rials هم به همین شکل..

لاراول هم در نسخه قدیمی یه فولدر models داشت که بعدا مدلها رو جا به جا کردند به داخل app

در واقع هر فریم‌ورک مجموعه‌ای از افکار و نیازهای یک توسعه دهنده هست.. که یه سری ابزار رو به شکلی که به نظرش منطقی میرسه میگذاره کنار هم (البته استانداردهایی هم برای این کار هست)..
حالا اگر شما اون ساختار رو نمی‌پسندی .. میتونی تغییرش بدی.
یا می‌تونی فریم‌ورک خودت رو بسازی (در این مسیر متوجه میشی چرا بقیه دارند از سیستم فعلی استفاده می‌کنند)


اما در مورد فولدر bootstrap:
یکی از اصل‌های مهم و اولیه در برنامه نویسی رعایت کردن نام گذاری صحیح هست.. از اسم متغیر ها و توابع و کلاس ها و متد ها گرفته تا نام فایل ها و فولدر ها.
هر چقدر این اسم ها خوانا تر باشند، سورس کد ما خوانا تر هست.
کدهای داخل فولدر bootstrap در واقع دارن اپلیکیشن رو راه‌اندازی می‌کنند.. پس دقیقا معادل همون کلمه یعنی bootstrap استفاده شده. که کاملا منطقی هست.
کلمه boot میتونه کمی low-level تر باشه و کلمه کلی تری هست.

در کنار این موضوع
طریقه عملکرد موتور Zend که ماشین مجازی زبان PHP هست، باعث میشه تا برای هر یک درخواست تمام فایل‌های مورد نیاز فریم‌ورک لود بشند (که تعداد زیادی هم هست).
خوب به جای اجرای این همه بخش به شکل مجزا، آیا بهتر نیست اپلیکیشن رو یک جا "bootstrap" یا "راه اندازی" کرد؟


saman
@saman1111 4 سال پیش مطرح شد
0

@mkt
الان چیش به نظر شما ساده نیست ؟
قسمت کنترلر و میدلور ها توی app/Http
قسمت ویو ها توی فولدر مربوط به خودشون ( زبان های برنامه و فایل های css و js و... هم جز این دسته هستن )
هر پروژه اجزای مختلفی داره فقط Model View Controller نیست. به عنوان مثال میدلور ها زیر شاخه Controller قرار میگیرن.

شما میخواین سه تا پوشه models views controllers وجود داشته باشه و بس ؟ اون موقع فایل هایی که آپلود میکنید رو کجا میذارید ؟
میدلور ها، مایگریشن ها، سیدر ها و بقیه رو کجا میذارید ؟

وقتی پروژه متوسط به بالا باشه اون موقع این ساختار خیلی کار رو راحت میکنه


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

ورود یا ثبت‌نام