سلام
............................................................................
این آدرس رو در نظر بگیرید
https://roocket.ir/series/learning-php/episode/1
این آدرس چند قسمت است:
series : دسته بندی
learning-php : نام آموزش
episode : قسمت آموزش
1 : تعیین قسمت آموزش
............................................................................
من php رو در این حد بلدم که بخوام آدرس دهی کنم نهایت چیزی ک میتونم بسازم اینجوریه:
https://roocket.ir/series.php?serie=learning-php&episode=1
............................................................................
سطحی که من با php کار کردم کمی بالاتر از این دوره آموزشی هستش:
https://roocket.ir/series/learning-php
............................................................................
لطفا راهنمایی کنید
با تشکر
سلام دوست عزیز
اگر شما بخواهید که روت هایی مثل بالا داشته باشید باید در فایل .htaccess که داخل پروژه تون هستش این دستور رو قرار بدید
RewriteEngine On
این دستور منجر به فعال سازی ماژول mod_rewrite میشه.
وقتی mod_rewrite فعال بشه باید بعدش چیکار کنم ؟
آموزش جامعی در این رابطه می شناسید که بهم معرفی کنید؟
@Ali.Abbasi1381
دوست عزیز اگر که می خوای هزینه کنی بهتره به آموزشی که توی سایت راکت درباره mvc هست مراجعه کنی در غیر این صورت این آموزش می تونه براد مفید باشه.
من تونسم تا این مرحله پیش برم
فرضا من یک سایت دارم که برای نمایش محصولاتم از این روش استفاده می کنم
example.com/products.php?id_p=1
الان تونستم با دستکاری در htaccess و فعال کردن RewriteEngine این آدرس رو تا اینجا برسونم که اینطور نشون داده بشه
example.com/products/1
...........................................................................
اگر بخوام بجای آیدی محصول که الان شماره یک هستش یک آدرس این شکلی ایی داشته باشم
example.com/products/sumsung-a50-128-gig
باید چیکار کنم؟
باید یه فیلد دیگه به دیتابیستون اضافه کنین به نام slug ، حتما باید یونیک باشه
بعد با استفاده از تابع زیر slug رو تولید میکنین مثلا از عنوان محصول و ذخیره میکنین و بعدش با استفاده از اون فیلد کوئری میزنین و میگیرینش.
public static function slugify($text)
{
// replace non letter or digits by -
$text = preg_replace('~[^\pL\d]+~u', '-', $text);
// transliterate
$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
// remove unwanted characters
$text = preg_replace('~[^-\w]+~', '', $text);
// trim
$text = trim($text, '-');
// remove duplicate -
$text = preg_replace('~-+~', '-', $text);
// lowercase
$text = strtolower($text);
if (empty($text)) {
return 'n-a';
}
return $text;
}```
این تابع یک عنوان محصول مثلا از ما میگیره و بعد تبدیل میکنه به یک اسم قابل استفاده . و ما میتونیم بعد این خروجی رو توی ستون slug اون محصول ذخیره کنیم و بعد بگیریمش و سوال اینجاست الان ک گرفتیمش چجوری بدیمش به htaccess و بگیم چجور ازش استفاده کنه ؟
@miladk313
سلام .
از نظر من شما برای اینکار می توانید از لاراول استفاده کنید.
برای ساخت ادرسی مثل این :
https://roocket.ir/series/learning-php/episode/1
باید این دستور رو در فایل web.php بنویسید :
`
route::get('/series/learning-php/episode/1',function(){
return view('ویو مورد نظر')
}
سلام
من برای اینکار از کتابخانه AltoRouter استفاده می کنم که خیلی راحت هم می تونید متغیر های عددی و متنی مختلف هم برای آدرس دهی استفاده کنید.
$router->map( 'GET|POST', '/product/[a:name]', 'product.php', 'product' );
آیا شما از php خام استفاده میکنید یا اینکه از یک فریمورک خاص؟ میشه لطفا این رو توضیح بدید تا روشن تر بشه این مسئله!
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟