علیرضا
5 سال پیش توسط علیرضا مطرح شد
7 پاسخ

داینامیک کردن روترها و استفاده از کتابخونه blade برای view

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

$obj->add('sersis',['user'=>'result@index',"title"=>'دوره های آموزشی']);

اگه من بخام برای دسته بندی ها همچین روتری داشته باشم که داینامیک باشه چیکارکنم؟
باید برای دسته بندی ها هم آیا باید یه یوزر یونیک بصورت انگلیسی تعریف کنم؟
مثلا
site.ir/sport
روتر دسته بندی هام اینطوریه

$obj->add('/C-{cat}','cat@index');

که مقدار رو اینطوری دریافت میکنه
cat:sport
بعد سوال دومم اینه که من از موتور قالب ساز blade استفاده کنم که کل پروژم بهت ریخت و این ارور میده
Fatal error: Uncaught Symfony\Component\Debug\Exception\FatalThrowableError: Call to a member function despatcch() on null in C:\xampp\htdocs\blog.ir\index.php on line 5
( ! ) Symfony\Component\Debug\Exception\FatalThrowableError: Call to a member function despatcch() on null in
C:\xampp\htdocs\blog.ir\index.php on line 5
و من اینطوری ازش استفاده میکنم

public static function bladetmplate($template,$arg=[]){
    $view=realpath(__DIR__.'/App/view');
    $cash=realpath(__DIR__.'/vendor/cash');

    $blade=new Blade($view,$cash);
    return $blade->view()->make($template,$arg)->render();
}
}

@ali.bayat
@hesammousavi
@Alimotreb
آقا سپاسگذار میشم دراین موردهم مارو راهنمایی کنید


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 5 سال پیش مطرح شد
0

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

id    ----  slug ---- name

برای مثال

1     sport      ورزشی 

یک روت ایجاد میکنید مثل

$obj->add('/category/{cat}','cat@index');

مقدار cat رو در متد index در کنترلر مورد نظر دریافت میکنید . و بعد مقدارش رو در دیتابیس چک میکنید که دارید اصلا یا خیر .اگر داشتید مقدار فارسیش رو بر میگردونید و بعد به view مورد نظر پاس میدید .
دوباره میگم من نمیدونم شما بر اساس چه آموزش دارید جلو میرید ولی باید خلاصه یه آموزشی باشه و توی اون آموزش این موارد توضیح داده شده . نمیشه اینجا همه موارد مورد نیاز رو توضیح داد .


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 5 سال پیش مطرح شد
0

سلام در مورد سوال اولتون اصلا درست نیست که مقدار title به این شکل در اینجا داشته باشید اینجا تنها برای تعریف رو و متصل کردن به کنترلرها هست همین.
بنابراین روت داینامیک نیاز به مورد خاصی نداره به غیر اینکه بهتره مثلا قبلش مثل زیر عمل کنید

$obj->add('/category/{cat}','cat@index');

در مورد سوال دوم باید ببینید از کدوم ورژن از این پکیج دارید استفاده میکنید و حتما قسمت مستندات پیکج رو مطالعه کنید که در پیاده سازی چیزی رو اشتباه نکرده باشید بر اساس ورژن .


علیرضا
تخصص : فرانت اند وب
@sep28 5 سال پیش آپدیت شد
0

@hesammousavi
خب من title صفحه رو از کجا پیدا کنم؟
برای دسته بندی ها
و یه سری صفحات
خب من میخام title فارسی باشه بعد آدرس صفحات هم انگلیسی .
و اگه برای صفحات خاص اینطوری پاس بدم به view درسته؟

    view::bladetmplate('index',['title'=>$title]);

علیرضا
تخصص : فرانت اند وب
@sep28 5 سال پیش مطرح شد
0

https://laravel.com/docs/5.8/blade
اینم مستندات هست و من زبانم ضععیفه نمیدونم چطوری راهندازی کنم:(


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 5 سال پیش مطرح شد
0

اول اینکه title رو از متد مربوطه داخل کنترلر پاس میدن به view نه از route .
دوم اینکه لینکی که فرستادید مربوط به وبسایت لاراول میشه مربوط به نحوه استفاده از blade در لاراوله نه در پروژه شخصی شما
لینک زیر
https://github.com/PhiloNL/Laravel-Blade
مربوط به ریپازیتوری این پکیج در گیت هاب هست که توضیحش آورده شده .
و اینکه من نمیدونم با چه آموزشی داری پیش میرید . ولی خوب در دوره mvc راکت کامل توضیح دادیم همه چیز رو


علیرضا
تخصص : فرانت اند وب
@sep28 5 سال پیش آپدیت شد
0

@hesammousavi
خب ببینید من title رو به ویو پاس دادم اینجا مگه اینطور نیست؟

view::bladetmplate('index',['title'=>$title]);

بعد هم من دقیقا از همین قطعه کدی که تو سایت معرف کردین استفاده کردم ولی ارور میده
برای دسته بندی ها
site.ir/cat-sport
وارد کرد من از کجا بفهمم title میشه؟ ورزشی؟
مگه نباید یه نام انگلیسی یونیک کنار اسم فارسیش داشته باشم برای دسته ها؟


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 5 سال پیش مطرح شد
0

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

id    ----  slug ---- name

برای مثال

1     sport      ورزشی 

یک روت ایجاد میکنید مثل

$obj->add('/category/{cat}','cat@index');

مقدار cat رو در متد index در کنترلر مورد نظر دریافت میکنید . و بعد مقدارش رو در دیتابیس چک میکنید که دارید اصلا یا خیر .اگر داشتید مقدار فارسیش رو بر میگردونید و بعد به view مورد نظر پاس میدید .
دوباره میگم من نمیدونم شما بر اساس چه آموزش دارید جلو میرید ولی باید خلاصه یه آموزشی باشه و توی اون آموزش این موارد توضیح داده شده . نمیشه اینجا همه موارد مورد نیاز رو توضیح داد .


علیرضا
تخصص : فرانت اند وب
@sep28 5 سال پیش مطرح شد
0

@hesammousavi
درود بر شما یکی از دوتا سوالاتم حل شد:)
منظورم از قطعه کد همون لینکی بود که معرفی کردین:) و من مثل اون عمل کرده بودم ولی ارور میده:(

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


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

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