首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

yii2开发中19条推荐实践

Composer 这个是做yii2开发的基石,除非没有办法使用,否则请不要放弃,除了更容易的安装yii2及第三方扩展外,能使用Composer代表着你的服务器最少能运行起来php-cli,那么你就可以使用...,别说你的程序将来没有移动端,早早的选择一个支持emoji的数据库会避免我们下载第三方库去解决报错问题。...开发中 本段为你介绍我在yii2开发中一些习惯和小技巧,希望对你有用。...模型的重要性 很多yii2的初学者喜欢将大量逻辑写到控制器的动作(action)中,这是不对的,我们的重点应该在模型中,而控制器仅仅是做输入输出。 我们拿关联举个例子,下面的这段代码是不好的。...为视图的PHP代码增加一个try 在写action或模型方法的时候,为了保证代码的稳定性,我们一般都会用try....catch语法结构,但是在yii2的视图内很少有人用,记住,也要用!

3.3K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    yii2之layout布局篇

    如果没有找到布局文件,直接把$output作为结果返回 上面这个布局就是一列布局的页面,现在我们再增加另外一个布局:页面显示2列,左侧显示主要的内容,右侧显示统计信息。...这个时候怎么办,再写一个和上面基本完全一样的代码吗? 布局文件嵌套(小部件:ContentDecorator) 这个小部件就是专为此功能而生的。...因此Yii中布局文件可以通过ContentDecorator小部件进行无限的嵌套。...现在再也不用担心Yii布局里面只提供一个 $content 变量了 下面就是实现这个功能的小部件类 AreaDecorator小部件类: class AreaDecorator extends Widget...,但yii2中我没有找到相关的设置文件,只能使用下面方法对布局文件进行设置了,不过下面的方法非常方便,使用起来非常好用。

    1.7K51

    Yii2 进阶篇

    表单模型.png 注意:要调用上传功能,需要打开 php_fileinfo 扩展 uploads目录应该在入口文件同级目录 多文件上传 Yii2支持多文件上传,只需要在上面的例子中加入一些小的修改即可...修改表单模型 在验证中加入 maxFiles 配置表示最多可以上传多少个文件 修改表单模型的upload 方法 如果是多文件上传,这里的$this->imageFile 就会是一个数组,所以可以使用foreach...验证码 Yii2中的验证码是通过扩展的操作来实现的,叫做 yii\captcha\CaptchaAction 只需要将它绑定到actions中就可以直接访问,无需任何更改: ?...,在Yii2中,不需要自己去写验证,直接在表单模型的 rules 中调用 captcha 验证就可以了 ['verifyCode','captcha'], 数据分页 Yii2也提供了类似于TP的数据分页类...rows'=>$rows, 'pagebar' => $paginationObj ]); } 视图中操作 在视图中要显示分页,要使用到LinkPager 小部件

    2K31

    最好用的 6 款 Vue 3 富文本编辑器

    CKEditor 5 - 开源免费可商用,行内编辑 CKEditor 5 是基于 Vue 的富文本编辑器组件,开源,可免费用于商业用途,官方下载量已经过千万。...CKEditor 是编辑器前辈 FCkEditor 的基础上开发的全新版本。它的 UI 设计现代,支持行内编辑模式。免费付费功能分布合理,付费主要是小部件、实时协同和历史记录。...CKEditor 5 有详细的文档,从入门到自定义编辑器,再到如何与不同框架集成,写的非常详细。 四....Quill 的优缺点都非常突出,它的代码高亮功能突出好用,但却没有一些常规编辑器都有的标配功能,比如表格,如果你想找一款轻巧,不需要太多复杂功能,对代码编辑友好的编辑器,Quill 是不错的选择。...Trumbowyg 功能非常简单,你看我上面实际安装后的测试截图就知道,没有太多复杂的功能。但它有个突出特点,就是小,压缩后仅有 8kb 大。

    17.1K10

    在django-admin中使用django-ckeditor

    在最新学习python中,使用django搭建博客系统,管理后台直接使用django自带的admin模块,所以遇到富文本编辑的问题,经过查阅资料,发现了django-ckeditor这个小插件,下面小威就分享一点点来自小白的经验吧...~ 首先安装django-ckeditor pip install django-ckeditor 其次,需要安装pillow(pillow是python的一个图形处理库,此次用到的django-ckeditor...”主要是设置通过ckeditor上传的图片所存放的目录,这里的路径是一个相对路径哟,相对于设置的“MEDIA_URL”。...1.首先在模型里先引入:from ckeditor_uploader.fields import RichTextUploadingField(此处需要注意的是,ckeditor.fields.RichTextUploadingField..."> 但是仅此你还会发现前端显示的是原始的html标签,我们在变量中加入safe过滤就阔以啦~比如 {{content|safe}} emmm~到这里,小威的分享就结束了,还有神马疑问的,欢迎给我留言哟

    1.6K30

    常见问题 - 构建文档 - ckeditor5中文文档

    例如,ckeditor5-basic-styles包处理HTML元素,例如,,等,以及它们在模型中的表示。 该功能定义了HTML(视图)和编辑器模型之间的双向转换。...由于编辑器中使用的自定义数据模型,源代码模式在CKEditor 5中没有意义。...没有contents.css文件这样的东西,因为在CKEditor 5中有一些功能带来了他们自己的内容样式,这些内容样式默认包含在JavaScript构建中并由样式加载器加载(它们也可以被提取)。...由于CKEditor 5使用自定义数据模型,因此无论何时要插入任何内容,都应首先修改模型,然后将其转换回用户输入其内容的视图(称为可编辑)。...如何列出编辑器的所有实例? 默认情况下,CKEditor 5没有编辑器实例的全局注册表。 但如有必要,可以轻松实现此功能,如此Stack Overflow问答中所述。 如何开启图片拖放和上传?

    5.6K40

    django-富文本-ckeditor配置

    注册到该列表中 'ckeditor', ] 创建模型 在 models.py 中导入 RichTextField 类 # blog/models.py from django.db import...没有自带的,只需要在网上把插件下载到 ckeditor\static\ckeditor\ckeditor\plugins\ 目录中,再进行配置即可。...图片上传的问题 默认情况下,ckeditor 是不能图片上传,而我个人也是觉得没有必要添加这个功能,直接引用链接显示就可以了,毕竟服务器也是贼贵,没必要再弄一个来存放上传的图片,除非是刚需。...所有这里不会再讲这部分内容,想看的话可以移步这里 代码高亮 在后台管理页面中,编辑器中的代码块已经有高亮效果了,然而在普通页面中显示却没有效果。...\ckeditor\static\ckeditor\ckeditor\plugins\codesnippet\lib\highlight\styles” 目录中找到(没有的话就在下面的链接中去下载)。

    2.1K20

    这周撸了两款小程序,总结下经验。

    ##默认入口转发问题 当一个小程序Page的js文件中存在 onShareAppMessage 方法时,可以触发转发功能,但是通过小程序开发者工具生成的模板中,入口文件的js中并没有此方法,为了发布后方便对小程序进行分享...当服务器端进行了存储后要生成一个key,将其返给小程序,以后小程序凡是发起需要用户认证的请求,都带这个key用来判断用户身份,在yii2中,这个key就是我们restful中的access_token。...以上是关于小程序登录的前后台逻辑,如果你使用yii2类框架,很多都内置了,并不复杂。 但是这里还有几个问题 小程序端何时进行登录逻辑? 发起请求时access_token过期了如何处理?...让yii2能解析json的请求内容 默认情况下yii2并不能识别请求中的json格式,而我们小程序在发起请求时喜欢用它,因此我们要对yii2进行一下配置。...用户认证 小程序的登录需要服务端的用户认证配合,当然我使用yii2框架,内置的restful已经支持了,如果你的系统不支持用户认证,可以自行建立access_token的生成机制,具体可以参考腾讯开放的小程序服务端框架

    1.4K50

    基于Yii2接口的在线答题小程序

    今天看到一个在线答题小程序,跑起来看了看,总体效果是有的,接口采用了Yii2编写,但是没有做后台,若是你想二次开发,可以考虑考虑这个小程序。...实现功能 一、分类选择各个类型的题目 二、做题类型选择 三、单选题 四、错题记录 五、题目分享 六、得分计算 技术选型 一、Yii2提供接口 二、微信原生写法 不足的地方,没有后台,需要自己二次开发完善...,我想作者是关注到小程序的开发了,所以忽略了后台。...安装方法 一、Yii2需要将域名解析到web目录下 二、data目录下是数据库文件,选取最新的一个导入到数据库中。 三、小程序中对应的链接改成你的链接。 四、链接地址需要申请证书,配置https。...五、小程序不好的地方,是链接地址写死的,需要一个文件一个文件的修改。 演示图

    1.1K20

    用发展的眼光追技术

    本文从 PHP 语言的 YII2 框架说起,简单谈一些技术的演变和发展脉络。 YII2 这个框架是 PHP 语言生态下的一款 Web 应用框架。...YII2 初来乍到 在 2013 年,2014 年 YII2 刚刚发布的年份,YII2 被大家追逐的原因大概是面向对象数据,包加载的扩展属性,自带 Gii 自动化生成工具,清爽的 View 界面和工具包...,API 序列化模型这几个。...YII2微框架.png YII2 去掉预置的模版,去掉 View 功能,剩下的核心也就是这个了。...YII2-模块.png 如上图,passport 和 admin 两个模块,如果都涉及同一张 User 表,依据复制优于依赖的原则,没有必要公用一个 User 类,可以单独存放为两个 User 类,用命名空间做隔离

    1.4K20

    在YII项目中使用ckeditor和ckfinder快速部署文本编辑器并实现图片上传1.准备2.安装3.配置4.使用5.效果

    www.yiiframework.com/extension/ckeditor-integration  下载ckeditor widget 2.安装 将下载到的ckeditor和ckfinder的zip...包,解压到yii项目的根目录,并将ckeditor widget解压到yii项目的extension,形成的目录结果如下图所示: ?...3.在类CKeditorWidget中的run方法开始添加 if(!...,使上传目录设置为项目根目录的upload文件夹,baseDir不可以使用它原始的方法得到绝对路径,这个我还没有发现这是一个BUG还是怎么回事,反正目前我配置为绝对路径是可行的,这里DvoraBlog是我的项目主目录...# 数据模型               "attribute"=>'content',          # 数据模型中的字段               "defaultValue"=>"Test

    1.4K100

    Yii2的MVC新特性

    这篇文章主要来看看在Yii2之中的MVC,当然,最核心的思想还是跟Yii1.1一样的,但是我今天是想来看看在Yii2里的MVC跟Yii1.1有什么不同,或者应该直接说,Yii2的改进在哪里,以至于使得官方敢向着最好的...废话就不多说了,下面来看看分别M-V-C这三个部分: 模型(Model): Yii之中的Models都继承与yii\base\Model,通常是用来存储数据并对这些数据设置一些特定的验证规则(rules...字符串,cool return 'test'; } } 这里你有没有看到use yii\web\Controller?...而且现在的Controller中,每个输出变为了返回,就像上面的actionTest()一样,你现在可以完全返回一个字符串了,有没有一丝丝Laravel的影子?...写在最后 正如你在这篇文章看到的一样,在Yii2中几乎所有的MVC组件变化都使得Yii2更好用了,我相信这会带给开发者更好的的开发体验,毕竟Yii2 中看到了一丝丝优雅的样子!

    2.7K20

    从配置文件的角度去了解Yii2

    本文就从Yii2 Advance版本的配置文件着手,详细介绍配置文件角度的Yii2框架,其中涉及到的部分内核方面的要点将在后续文章中逐一说明....Yii2为了简化开发难度,所以用户定义的目录加载方式全部使用Yii2自己定义的autoload方法(Yii.php中注册的BaseYii.php中的autoload),而不是编辑composer.json...有两种情况,如果你的module或者component甚至一个名不见经传的对象引用了yii\base\BootstrapInterface接口,并实现了bootstrap()方法.将直接调用这个方法.如果没有引用...既然提到bootstrap,这个阶段Yii2还会调用所用的extension,做上述相同的事情.如果你自己编写了关于Yii2的扩展,这时候它将被实例化并缓存到Yii的对象容器中.至于extension的编写...Yii2的DI和对象模型,后续文章详细介绍.文章在这里 7.

    1.5K21

    新内容 - 构建文档 - ckeditor5中文文档

    没有了复杂的对话框! 过时的图像对齐概念被取消,支持了这些图片样式: ? 与Easy Image集成后,上传,调整大小和生成不同图像大小以实现响应式设计都是自动化的。 ?...简单链接 没有了复杂的链接对话框。 单击链接时,首先您将看到一个气球,其中包含编辑链接或在新选项卡中打开链接的选项。 ? 在链接周围插入符号 在链接周围输入文字从未如此简单。...高度可定制 CKEditor 5 构建版本基于CKEditor 5 框架,提供了强大的可定制性和可扩展性。 自定义数据模型 为CKEditor 5设计了一个更高效的数据模型。...这使得功能的开发更具创造性,并且优化了特性,例如撤消和重做。 协作编辑 自定义数据模型的另一个重要优点是,通过引入“操作”和“操作转换”的概念,为在CKEditor内实现实时协作编辑提供了一种可能。...Letters是使用CKEditor 5的强大协作功能的应用程序示例。 ? 更现代化 CKEditor 5使用了ECMAScript 2015(也称为ES6)提供的强大模块功能完全重写。

    3.3K40

    微信小程序实践-- 服务器端接口restful配置

    说干咱就干,老沙灰常高兴的开始yii2程序的restful配置过程。...为了以后版本化,将每个版本的接口以模块的形式建立,当然建立支持restful和建立普通的模块并没有差别,使用gii的模块生成即可。 此处省略好几个字,模块建立完成。...alt yii2框架内置是支持restful规范的,按照yii2的规则做我们可以轻松实现比如数据表数据的获取、插入、更新、删除等基础操作以及登录验证等功能。...album控制器的actionIndex,以此类推yii2提供了很多个内置的action识别,具体见下图 alt 当然具体如何实现的你可以参考 yii\rest\UrlRule.php 类及yii2的...完事了 简单配置后,老沙搞定了服务器端的配置,接下来他计划使用小程序和yii2实现一个队相册列表的功能实现,下一篇告诉你。

    3.2K70

    Django添加ckeditor富文本编辑器

    ) # 没有这一句无法显示上传的图片 最后修改需要使用富文本编辑器的Django APP的目录下的models.py。...=u'内容')#可以上传图片的 在 templates 中使用内容 {{ content | safe }} django使用ckeditor上传图片 1、在模型类中设置字段为富文本类型,这里需要注意引入的是...class spit_model(models.Model): """模型类""" user = models.ForeignKey(User, on_delete=models.CASCADE...CKEditor中文字体名称乱码? 第一步操作,重新加载页面,中文字体显示,但是名称却显示乱码?在虚拟机的Ubuntu上用火狐试了一把,同样的问题,可见和浏览器没有关系,问题出在服务器端。...config.codeSnippet_theme = 'school_book'; }; 此时,刷新浏览器页面,可以发现代码部分实际上没有特别变化,还和背景融为一体。

    2.2K31

    从配置文件的角度去了解Yii2

    本文就从Yii2 Advance版本的配置文件着手,详细介绍配置文件角度的Yii2框架,其中涉及到的部分内核方面的要点将在后续文章中逐一说明....Yii2为了简化开发难度,所以用户定义的目录加载方式全部使用Yii2自己定义的autoload方法(Yii.php中注册的BaseYii.php中的autoload),而不是编辑composer.json...有两种情况,如果你的module或者component甚至一个名不见经传的对象引用了yii\base\BootstrapInterface接口,并实现了bootstrap()方法.将直接调用这个方法.如果没有引用...既然提到bootstrap,这个阶段Yii2还会调用所用的extension,做上述相同的事情.如果你自己编写了关于Yii2的扩展,这时候它将被实例化并缓存到Yii的对象容器中.至于extension的编写...Yii2的DI和对象模型,后续文章详细介绍.文章在这里 7.

    97131

    Yii2 起步 之创建项目

    yii2目前还处于beta版本,相关文档也一直在变化,如有疏漏,还请及时反馈 Yii2安装 两种安装方式,composer或者下载zip包 使用composer安装初始化yii2项目(推荐)...windows下,如果本机还没有安装composer,我的做法是是直接下载composer.phar包 假定你的工作目录是 workspace,将下载的composer.phar放在workspace...官方地址 源码安装 源码包地址 yii2-beta 下载源码包解压后即yii2的框架源文件,然后根据自己的实际情况构建目录结构,进行开发 项目初始化完成以后,配置yii2的配置文件,配置文件一般放在...app/config目录下,当然这个路径会根据个人习惯而不同] 我个人推荐的yii2框架目录结构(使用composer 创建项目的默认目录结构和此不同) composer.json 定义项目中的...web controller目录(控制器) views/ 应用views目录(视图) models/ models classs 目录(模型

    96220
    领券