说明
cviebrock/eloquent-sluggable 是一款可对 Laravel 项目中的 URL 进行友好化的扩展包。
Demo Demo 截图 运行 Demo本文章由 The EST Group 成员 @Kelvin 撰写, 首发地为 PHPHub 社区.
Demo 代码请见:
https://github.com/CycloneAxe/est-eloque...
请参照此文档运行 Demo:
https://phphub.org/topics/1902
场景说明在我们平时的 Laravel 项目中, 若有一篇 title 为 "My Dinner With André & François", id 为 5 的文章, 一般会生成如下链接:
http://example.com/post/5
但如果我们想使用 title 来生成文章的 url, 这时 url 就会变成下面这样:
http://example.com/post/My+Dinner+With+A...
可以看到生成的 url 看起来并不是特别清晰, 且对 SEO 也不友好. 这时我们就需要使用到 eloquent-sluggable 来对 url 进行转换了, 转换后的结果如下:
http://example.com/post/my-dinner-with-a...
这时可以明显看到转换后的 url 更加清晰易读, 对 SEO 也更加友好.
文章概览安装;
集成;
使用;
1. 安装1). 使用 composer 安装:
composer require cviebrock/eloquent-sluggable
2). 修改 config/app 文件,在 providers 数组内追加如下内容
"providers" => [ // ... "CviebrockEloquentSluggableSluggableServiceProvider", ];2. 集成
本文假设你已经有了一个使用 Laravel 编写的博客系统,接下来通过对博客文章 (Post 表) 添加对 SEO 友好化的 Url 为例:
1). 修改 Post Model
use CviebrockEloquentSluggableSluggableInterface; use CviebrockEloquentSluggableSluggableTrait; class Post extends Model implements SluggableInterface { use SluggableTrait; protected $sluggable = [ "build_from" => "title", "save_to" => "slug", ]; }
2). Post 表追加 slug 字段
php artisan sluggable:table posts
3). 数据库 migration
$ composer dump-autoload $ php artisan migrate3. 使用
在每次创建一篇新文章的同时,slug 字段将会自动采用文章 title 作为固定链接的地址
$post = new Post([ "title" => "My Awesome Blog Post", ]); $post->save();
文章创建完成后, 您可以通过 $post->slug 来获取文章的 slug.
更多的例子请移步 官方文档 参考.
欢迎关注 LaravelTips, 一个专注于为 Laravel 开发者服务, 致力于帮助开发者更好的掌握 Laravel 框架, 提升开发效率的微信公众号.
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/21471.html
摘要:要解决此问题,只需运行以下命令即可使用包函数将字符串转换为复数形式。函数接受两个参数一个值和一个闭包。该值将被传递给闭包,然后该值将被返回。更新方法返回布尔值,但由于用了,所以它将返回。这对调试非常有用。函数根据给定的字符串生成一个友好的。 Laravel包含各种全局辅助函数(helper), 你可以使用它们使开发工作流程更加轻松。 在这里,我将会列一下10个最好的 Laravel h...
摘要:文章转自包含各种全局辅助函数。返回应用程序中公共目录的完全限定的绝对路径。要解决此问题,只需运行以下命令即可使用包函数将字符串转换为复数形式。该值将被传递给闭包,然后该值将被返回。方法返回布尔值,但由于用了,所以它将返回。 showImg(https://segmentfault.com/img/remote/1460000018944915?w=1408&h=846); 文章转自:h...
摘要:控制反转容器控制反转使依赖注入变得更加便捷。有瑕疵控制反转容器是实现的控制翻转容器的一种替代方案。容器的独立使用即使没有使用框架,我们仍然可以在项目中使用安装组件来使用的控制反转容器。在没有给定任何信息的情况下,容器是无法实例化相关依赖的。 声明:本文并非博主原创,而是来自对《Laravel 4 From Apprentice to Artisan》阅读的翻译和理解,当然也不是原汁原味...
摘要:是一款可爱的小插件,将和浏览器的封装到一起,解决了单纯使用进行无刷新加载时对搜索引擎的不友好,并且节省了开支提高了浏览速度,明显地优化了用户体验。是提供的,是对浏览器历史对象的增强。 showImg(https://segmentfault.com/img/remote/1460000007640529?w=1008&h=569); pjax 是一款可爱的 jQuery 小插件,将 a...
摘要:是一款可爱的小插件,将和浏览器的封装到一起,解决了单纯使用进行无刷新加载时对搜索引擎的不友好,并且节省了开支提高了浏览速度,明显地优化了用户体验。是提供的,是对浏览器历史对象的增强。 showImg(https://segmentfault.com/img/remote/1460000007640529?w=1008&h=569); pjax 是一款可爱的 jQuery 小插件,将 a...
阅读 2307·2021-11-24 09:39
阅读 3037·2021-10-15 09:39
阅读 3087·2021-07-26 23:38
阅读 2286·2019-08-30 11:14
阅读 3409·2019-08-29 16:39
阅读 1711·2019-08-29 15:23
阅读 775·2019-08-29 13:01
阅读 2662·2019-08-29 12:29