yii2.0 组件是什么
发布时间 - 2019-12-04 00:00:00 点击率:次
组件是 Yii 应用的主要基石。是 yii\base\Component 类或其子类的实例。 三个用以区分它和其它类的主要功能有:
属性(Property) (推荐学习:yii框架)
事件(Event)
行为(Behavior)
或单独使用,或彼此配合,这些
功能的应用让 Yii 的类变得更加灵活和易用。 以小部件 yii\jui\DatePicker 来举例, 这是个方便你在 视图 中生成一个交互式日期选择器的 UI 组件:
use yii\jui\DatePicker;
echo DatePicker::widget([
'language' => 'zh-CN',
'name' => 'country',
'clientOptions' => [
'dateFormat' => 'yy-mm-dd',
],
]);use yii\jui\DatePicker;
echo DatePicker::widget([
'language' => 'zh-CN',
'name' => 'country',
'clientOptions' => [
'dateFormat' => 'yy-mm-dd',
],
]);这个小部件继承自 yii\base\Component,它的各项属性改写起来会很容易。
正是因为组件功能的强大,他们比常规的对象(Object)稍微重量级一点,因为他们要使用额外的内存和 CPU 时间来处理 事件 和 行为 。
如果你不需要这两项功能,可以继承 yii\base\Object 而不是 yii\base\Component。这样组件可以像普通 PHP 对象一样高效, 同时还支持属性(Property)功能。
当继承 yii\base\Component 或 yii\base\Object 时, 推荐你使用如下的编码风格:
若你需要重写构造方法(Constructor),传入 $config 作为构造器方法最后一个参数, 然后把它传递给父类的构造方法。
永远在你重写的构造方法结尾处调用一下父类的构造方法。
如果你重写了 yii\base\BaseObject::init() 方法,请确保你在 init 方法的开头处调用了父类的 init 方法。
另外,为了让组件可以在创建实例时能被正确配置,请遵照以下操作流程:
$component = new MyClass(1, 2, ['prop1' => 3, 'prop2' => 4]); // 方法二: $component = \Yii::createObject([ 'class' => MyClass::className(), 'prop1' => 3, 'prop2' => 4, ], [1, 2])
# 你在 # 重写 # 如果你 # 子类 # 把它 # 写了 # 因为他们 # 会很 # 这是个 # 易用
相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571 】
相关推荐: 如何快速搭建二级域名独立网站? 如何在腾讯云服务器上快速搭建个人网站? 北京专业网站制作设计师招聘,北京白云观官方网站? 瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口 图册素材网站设计制作软件,图册的导出方式有几种? 为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】 js实现点击每个li节点,都弹出其文本值及修改 Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用 如何在七牛云存储上搭建网站并设置自定义域名? Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】 bing浏览器学术搜索入口_bing学术文献检索地址 Laravel DB事务怎么使用_Laravel数据库事务回滚操作 Laravel Octane如何提升性能_使用Laravel Octane加速你的应用 JS碰撞运动实现方法详解 Java类加载基本过程详细介绍 Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】 Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】 Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧 魔毅自助建站系统:模板定制与SEO优化一键生成指南 学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站? Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置 网站制作大概多少钱一个,做一个平台网站大概多少钱? 微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】 Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】 java中使用zxing批量生成二维码立牌 如何快速查询网址的建站时间与历史轨迹? Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用 Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制 如何破解联通资金短缺导致的基站建设难题? 高性价比服务器租赁——企业级配置与24小时运维服务 企业网站制作这些问题要关注 Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲 大连 网站制作,大连天途有线官网? 手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办? 如何在IIS服务器上快速部署高效网站? Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门 大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊? 如何在服务器上配置二级域名建站? 邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种? Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】 Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】 哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做? VIVO手机上del键无效OnKeyListener不响应的原因及解决方法 Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】 JavaScript 输出显示内容(document.write、alert、innerHTML、console.log) JavaScript模板引擎Template.js使用详解 简单实现Android验证码 百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭 Laravel如何实现API版本控制_Laravel API版本化路由设计策略 iOS中将个别页面强制横屏其他页面竖屏

