使用 Laravel 快速构建网站系列 —— Laravel and AngularJS CMS

1、简介 Laravel and AngularJS CMS 是一个基于 Laravel 5.1、AngularJS 1.4.7 和响应式 Material Design 的 CMS。 2、GitHub https://github.com/DimitriMikadze/laravel-angular-cms 3、功能特性 用户/用户权限、文章、相册增删改查 注册/登录认证 遵循John…

使用 Laravel 5.1 内置的本地化功能轻松实现多语言支持

使用Laravel提供的本地化功能实现多语言支持很简单,只需要简单配置并创建对应的本地化翻译文件即可。下面我们就以Laravel自带的几个语言文件为例简单演示如何在登录认证和密码重置这两个功能中实现本地化(汉化)。 1、配置本地化语言 Laravel应用的本地化语言配置项位于config/app.php: ‘locale’ => ‘zh_cn’, ‘fallback_locale’…

使用 Laravel 5.1 的文件系统对文件进行存储、移动和删除操作

Laravel 基于 Flysystem 提供了强大的文件系统对文件进行存储和删除,该文件系统和缓存一样,支持多种驱动,这些驱动包括本地驱动、FTP、Amazon S3以及 Rackspace,在这些驱动之上提供了统一的API方便随时切换驱动而不需要修改任何业务逻辑代码。 既然API方法一致,那么这里作为示例,我们使用本地驱动来演示如何使用文件系统API对文件进行存储和删除。 1、配置 …

Laravel 5.1 定义事件、事件监听器以及触发事件实例教程

今天我们开始讲Laravel的事件,事件无处不在,比如用户登录、购买商品、搜索、查看文章,等等,都是事件,有了事件,就有事件监听器,事件监听器监听到事件发生后会执行一些操作,Laravel使用观察者模式来实现这种监听机制。本节我们通过一个简单的示例来讲述在Laravel中如何创建事件类、事件对应的监听器类,以及监听器如何监听事件发生并执行相应操作。 这里我们基于之前基于模型+缓存对文章增…

基于 Laravel 集成的 Monolog 库对日志进行配置和记录

上一节我们讲了Laravel中的错误和异常处理,在当中我们提到捕获到异常后除了在页面上显示之外,还会将异常记录到日志中,尤其是在线上,这一点很重要,为方便我们排查问题提供了有力的依据,因为线上出现问题是不可能在浏览器中显示错误信息的(这样会暴露服务器上的文件位置和代码信息)。当然,日志的作用远远不限于此,还可以用来记录线上用户行为,站点访问信息,用户操作记录等等。 正因如此,对于大型系统…

Laravel 5.1 中的异常处理器和HTTP异常处理实例教程

错误和异常是处理程序开发中不可回避的议题,在本地开发中我们往往希望能捕获程序抛出的异常并将其显示打印出来,以便直观的知道程序在哪里出了问题并予以解决,而在线上环境我们不希望将程序错误或异常显示在浏览器中(出于安全考虑),这个时候我们仍然要捕获异常,只不过不是显示到浏览器中,而是记录到日志中,方便日后排查问题。 Laravel当然支持PHP原生的错误和异常处理,但是在此基础上进行了一些封装…

Laravel 5.1 分页功能实现及如何自定义分页样式

我们在之前基于模型+缓存对文章增删改查进行优化一节中提到过,如果文章数量较多,可以对文章列表进行分页,本节我们将以该教程为基础对PostController的index方法进行改造,作为Laravel中分页的实例进行讲解。 Laravel中实现分页非常简单,因为Laravel底层为我们提供分页所需的一应组件,从分页逻辑实现到分页视图渲染,我们完全不需要编写任何业务逻辑代码,甚至连视图模板…

Laravel 5.1中 Redis 的安装配置及基本使用教程

关于Redis的介绍我们在之前Laravel 缓存配置一节中已有提及,Redis是一个开源的、基于内存的数据结构存储器,可以被用作数据库、缓存和消息代理。相较Memcached而言,支持更加丰富的数据结构,包括字符串、哈希、列表、集合、有序集合等,此外还支持将数据持久化到数据库。更多关于Redis的介绍可查看其官网介绍。今天我们只是简单讲述在Laravel中如何对Redis依赖包进行安装…

Laravel 5.2 即将发布,新版本将会有哪些新特性?

Laravel 5.2 的开发正在紧锣密鼓的进行中,到目前为止一些新的特性已经浮出水面。下面就让我们一起来看看这个即将发布的新版本有哪些新特性(截至目前公布的)。 隐式模型绑定 隐式模型绑定是一项新特性,指的是将模型自动绑定到路由,下面是示例代码: Route::get(‘/api/posts/{post}’, function(Post $post) { return $post; }…

Laravel Elixir 深入探究(二):版本控制、测试套件、任务执行以及自定义任务和扩展

4、版本控制 我们接着上一节继续往下讲,当你修改一个JavaScript或者CSS文件后需要将其推送到服务器上。当用户在浏览器中访问站点时,有些用户也许可以立即获取到最新修改的前端资源文件,而另一些用户的浏览器可能仍然使用的是之前的缓存文件,这样就不能看到最新的效果。要修复这一问题,开发者可以通过修改文件名或者追加一个查询字符串到文件名后,又或者在文件名后追加一个随机字符串,该过程被称作…