使用artTemplate模版引擎

artTemplate 是腾讯公司出品的js模版引擎。laytpl 号称比 artTemplate 还快,这姑且不论了。在使用过 laytplartTemplate 之后,发现2者都有自己的优缺点。

artTemplate模板中不支持全局函数,官方说这是为了安全规范考虑,而laytpl就支持。

20141021101830.jpg

artTemplate 模版不支持全局函数,意味着某些js方法不能直接使用,只能使用 helper 来定义自定义函数。

template.helper('curTop', function (cur_top, i) {
    i = isNaN(parseInt(cur_top))?0:parseInt(cur_top);  //在artTemplate模版中无法使用js原生的isNaN、parseInt等方法
    return i;
});

在模版中这样使用。

<% var i = curTop(cur_top);%>

artTemplate模版解析存在某种缺陷和bug,同样问题也存在于laytpl中。存在if else是大括号匹配闭合问题。

比如:

<% if(a) { %>
a is true
<% } %>
<% else { %>
a is false
<% } %>

这样会报模版引擎错误,只能这样折中解决:

<% if(a) { %>
a is true
<% } else {%>
a is false
<% } %>

- 阅读剩余部分 -

实现CKEDITOR图像浏览与上传

CKEditor 编辑器一款不错的互联网在线编辑器,但其图像上传功能,这里提供2个官方插件实现 CKEditor 的图像浏览与上传功能。

Image Browse

http://ckeditor.com/addon/imgbrowse

Image Uploader

http://ckeditor.com/addon/imgupload

下载之后,将他们放到 ckeditorplugins 目录下,注意各自配置下他们文件路径。

配置 imgupload 的图片上传路径:

$upload_dir = '/uploads/images/';

配置 imgbrowse 的图片浏览路径:

protected $root = '/uploads/images/';

完成之后,再配置一下 ckeditorconfig.js,位于 /ckeditor/config.js 文件中:

CKEDITOR.editorConfig = function( config ) {
    // Define changes to default configuration here. For example:
    // config.language = 'fr';
    // config.uiColor = '#AADC6E';
    config.image_previewText=' ';
    config.filebrowserImageUploadUrl = "/assets/lib/ckeditor/plugins/imgupload/imgupload.php"; 
    config.filebrowserBrowseUrl = "/assets/lib/ckeditor/plugins/imgbrowse/imgbrowse.html?imgroot=/uploads/images/";
};

Laravel入门教程——一个简单cms的实现(05)

作者: douyasi
网站:https://douyasi.com/category/startlaravel/
备注:本教程是在当前最新Laravel稳定版v4.2.X下实现的,其它相异版本如果有问题请自行排除。
本文为作者原创记录,转载请保留署名与来源。

RESTFUL路由与控制器

RESTFUL详解

资源控制器可以简单的建立跟资源相关的 RESTful 控制器。下面,我们开始演示操作文章资源。

命令行执行以下命令建立控制器:

php artisan controller:make ArticleController

然后我们可以注册一个资源化路由至控制器上:

Route::resource('article', 'ArticleController');

打开 /app/controllers/ 目录,我们可以看见框架已经自动地给我们生成 ArticleController.php 文件,打开我们看看,大致可以看到以下结构:




- 阅读剩余部分 -

Laravel入门教程——一个简单cms的实现(04)

作者: douyasi
网站:https://douyasi.com/category/startlaravel/
备注:本教程是在当前最新Laravel稳定版v4.2.X下实现的,其它相异版本如果有问题请自行排除。
本文为作者原创记录,转载请保留署名与来源。

页面显示与路由控制(二)

Auth继续深入使用

上一节我们只是简单地使用了下 Auth,这一节打算继续深入使用 Auth。在使用 Auth 时我们可能会(反正我觉得是一定会)遇到诸多问题,这是因为 Laravel 作者的一些认证构思与你我想象的认证构思不同。

Auth 默认使用 email 作为认证验证的一个条件,还提供了诸如“记住我”快捷认证功能和找回登录密码凭证的方法。

使用 Auth::logout() 退出用户时,我发现框架报了一个错误,错误界面在此:

logout_error

错误原因是 admin 数据表中没有 remember_token 字段。在数据库设计时我就没考虑过这个字段,但 Auth 认证时有使用到,审查下 Laravel Auth 相关代码,我们可以发现,logout调用了 refreshRememberToken 方法。

为此,我们需要修改admin数据表相关字段。

admin添加remember_token字段,也添加上email字段,以配合Auth使用。




- 阅读剩余部分 -

Laravel 4开发人员必用扩展包

提供一些Laravel 4开发人员必用扩展包,后续会有补充。
参考来源:http://blog.csdn.net/iefreer/article/details/37542395

HTML压缩器(Laravel HTML Minify)

压缩模版页面空白符,配合gzip,有效减少页面大小,提升页面加载速度。

"require": {
    "fitztrev/laravel-html-minify": "1.*"
}

Laravel HTML Minify

代码生成器(Laravel Generators)

使用简单的命令行就可以自动根据代码模板生成 Model/View/Controller 代码以及模块(Module)。

"require-dev": {
    "way/generators": "~2.0"
}

- 阅读剩余部分 -