×

yii框架目录结构

yii框架目录结构(yii2的高级版和基本版的区别在哪里)

admin admin 发表于2024-08-23 16:14:41 浏览4 评论0

抢沙发发表评论

本篇文章给大家谈谈yii框架目录结构,以及yii2的高级版和基本版的区别在哪里对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

本文目录

yii2的高级版和基本版的区别在哪里

高级版和基本版都是用同一个框架,只是目录结构不一样高级版是一个官方推荐的多应用的目录结构(默认有后台backend、前台frontend、控制台console),基本版是单应用目录结构,但这些都不重要,都可以自行修改,前者适合熟悉yii框架者,后者更适合新手,新手学习推荐基本版。

YII框架和THINKPHP的区别

这不是一篇评测文章。只是我的喃喃碎语,不计较真。而且,下面的内容真的会很杂,不全面,而且你不可能有和我一样的开发经历。所以对于某些我醉心的特性,你可能不会理解。同样的,我也不可能全部理解你为何对某一项特性十分喜欢。关于ThinkPHP(以下简称TP)和Yii Framework(以下简称Yii)的背景、作者和速度方面就不涉及了。因为速度是一个很复杂的问题,牵扯的因素很多。我不得不承认ThinkPHP是 一个是国内框架运营方面的榜样(当FleaPHP/QeePHP最火的那阵,我说过FleaPHP/QeePHP会倒的)。运行环境:Windows NT ACER 5.1 build 2600 (Windows XP Professional Service Pack 3) i586Apache/2.2.14 (Win32) DAV/2 mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1Mysql 5.1.4下载的代码:***隐藏网址******隐藏网址***中文化方面,TP和Yii都可以满足中文用户的需求。但是由于Yii是国际化的项目,所以代码的注释仍旧是英文。不过两个框架的作者都是国人(没错,Yii作者的国籍仍旧是中国),所以交流起来还是很方便的。是Yii自带了一个环境检测脚本,可以告诉你当前的主机环境是否满足Yii的需求。检测的内容也比较详细。我觉得这点比较方便。TP最低需要PHP5.0支持,而Yii最低需要PHP 5.1.0支持。由于我使用PHP 5.3,所以对我来说没有什么区别。Yii是纯面向对象的的框架,而TP提供了一系列单字母函数。相比之下我更喜欢Yii的方式,因为可以避免项目之间的冲突。TP在以前的版本的基类Base类,当时就和一个整合Ucenter时的类冲突了,一度很苦恼。现在TP的各种基类仍旧是直接命名,如Think 类。在项目开发过程中就会体会命名冲突的痛苦之处。Yii则在框架的类都加上了C前缀(接口是I前缀),有效地避免了这个问题。Yii中的 CComponent是所有类的基类,可以看看CComponent的代码,很有用。说到命名问题了,就不得不说自动导入的问题。TP的类导入和Yii的代码风格差不多。但是Yii还支持PHP的命名空间和自定义autoload方法。TP有个特色叫项目编译。我觉得与其使用项目编译,还不如使用APC。在Yii中也有个yiilite.php文件,里面就包含了Yii的所有核心类。Yii作者表示在没有APC的情况下,还是不要使用这个“编译”好的文件,因为反而会增加系统开销。TP中还在第一次访问的时候自动生成项目,我觉得这一点和自动编译一样,都是我不喜欢的。我对每添加一个if都很敏感,这种判断让我很纠结。比如说 TP在每次运行的时候都要检测PHP版本,而Yii则单独做了一个内容更详细的环境监测脚本。我既然要用这个框架,我在第一次使用的时候,肯定就知道能不 能在当前环境上使用了,为什么要每次都要检测呢。当时我就说过,TP为用户做了太多事情。比如旧版本中的TopN函数。Yii的组件思路是非常不错的,用起来十分地舒服。从session到cache,你可以无缝地更换所有的组件而无需重构项目。而且Yii的延迟加 载也做得比较彻底,每个组件都是用到的时候才加载。比如,TP中,如果配置了session自动打开,则TP在应用初始化的时候执行 session_start()。而Yii则是你用到session的时候才打开session。说到项目的配置文件,TP要求是config.php,而Yii则比较灵活,支持多配置文件。当初TP很推崇自己的ThinkAjax,现在也改用JQuery。这一点是进步。***隐藏网址***TP的动态模型可以实现不需要定义Model。但是在实际的项目中,我更倾向于使用Yii的方式。顺便说一句,将label定义在model中,为我的日常开发带来了许多方便之处。刚才提到TP的项目自动生成,Yii中也有这种工具。而且比起TP,Yii的工具更加强大而且可扩展。从TP的代码中,有人可以看出其作者熟悉JAVA。而从Yii的代码中,有人会发现其作者熟悉.Net。这常常是我身边人看到代码的时候发生的小插曲。Yii封装了大量的页面控件和类库,也是Yii如此吸引我的一点。这是TP短期无法比拟的,在TP的使用过程中总遇到这样那样的问题,让我感觉TP对我反而是阻碍。而Yii真的是,舒服,实在是太好用了!无论从代码规范、设计思路、类库丰富程度上来说,TP都远远不及Yii。有人说你看TP多简洁,Yii太臃肿了。错了!简单和简洁不是一回事。TP 那叫简单,你读读Yii的代码吧,那才叫简洁。至于臃肿,去看看Zend Framework就知道了。(顺便说一句,我很喜欢Zend Framework,它是学习设计的典范)说到读代码。对于程序员真的很难吗?读写得好的代码应该是一种享受才对。Yii的学习曲线是比TP高那么一点点,但是对比Yii的巨大优势而言不算什么了。而且,我认为在遇到学习困难就退缩或者认为Yii就像天书一样的人,还是转行吧。以上是应一篇评论所写的。对比TP1,现在的TP2的确有了很多进步,但是还是存在一些问题。对比Yii……,TP真的没有可比的能力。抱歉让TP的fans失望了。那就下定论了吗?不,不是的。从类库到框架,再到解决方案。什么是最好的?每一个人都有不同发说法,这是因为每一个人的思维习惯不同,遇到的问题不同,问题所在的环境也不同。怎么能奢求所有人都有同一个选择呢?还是那句,适合,就是最好的。对我来说,Yii是最好的。

Yii2框架操作数据库的方法分析【以mysql为例】

本文实例讲述了Yii2框架操作数据库的方法。分享给大家供大家参考,具体如下:准备数据库DROPTABLEIFEXISTS`pre_user`;CREATETABLE`pre_user`(`id`int(11)AUTO_INCREMENTPRIMARYKEY,`username`varchar(255)NOTNULL,`password`varchar(32)NOTNULLDEFAULT’’,`password_hash`varchar(255)NOTNULLDEFAULT’’,`email`varchar(255)NOTNULLDEFAULT’’,`status`smallint(6)NOTNULLDEFAULT10,`created_at`smallint(6)NOTNULLDEFAULT0,`updated_at`smallint(6)NOTNULLDEFAULT0)ENGINE=InnoDBDEFAULTCHARSET=utf8mb4;配置连接config\db.php《?phpreturn;查看数据库连接是否成功控制器里打印:var_dump(\Yii::$app-》db);怎么执行SQL语句?增删改//接收表单的数据$username=’jack’;$sql="INSERTINTO{{%user}}(username,status)VALUES(:username,:status)";//返回受影响行数$row=\Yii::$app-》db-》createCommand($sql,)-》execute();//获取自增IDecho\Yii::$app-》db-》getLastInsertID();查询$sql="SELECT*FROM{{%user}}WHEREid》:id";//查询结果是一个二维数组$userArr=\Yii::$app-》db-》createCommand($sql,)-》queryAll();//如果要查询一个$user=\Yii::$app-》db-》createCommand($sql,)-》queryOne();//如果要返回单值//例如selectcount(*)语句$count=\Yii::$app-》db-》createCommand($sql,)-》queryScalar();echo$count;更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。您可能感兴趣的文章:Yii2.0高级框架数据库增删改查的一些操作Yii2——使用数据库操作汇总(增删查改、事务)Yii2数据库操作常用方法小结Yii2框架实现数据库常用操作总结Yii2实现跨mysql数据库关联查询排序功能代码Yii+MYSQL锁表防止并发情况下重复数据的方法Yii连接、修改MySQL数据库及phpunit测试连接Yii实现MySQL多数据库和读写分离实例分析Yii操作数据库实现动态获取表名的方法Yii操作数据库的3种方法

用yii框架怎样实现简单的页面布局

刚开始写YII的时候,对于页面布局的问题相当苦恼。最开始的问题就是:很多时候可能需要多种不同的页面布局当在Controller使用render渲染 视图文件的时候。默认都是加载main.php文件。我当时针对这个问题的解决方法就是使用renderPartialrenderPartial这个函数 是直接渲染视图文件,而不会加载main.php所以我写出来之后发现很多页面都包含了相同段代码。

php项目的目录结构是按模块划分,还是按功能划分

恩,一般是先模块,然后功能,如果模块与模块之间功能有交叉,最好写一些公共接口,全站可以调用,对于php的项目,一般站点都是MVC接口,数据模型,控制器和视图分开,可以学习一下yii框架结构

yii框架调用接口代码一般放在哪个目录下

1,项目目录结构分析2,Yii入口文件分析在Yii启动项目时,传递了项目主配置文件数组,那么Yii会在整个应用中绑定一个全局的Yii对象并且可以通过如下方法来调用该对象:Yii::app()Yii系统把配置文件中的数组值,通过键值对的形式绑定到了该对象上,例如在配置文件中我们配置了:’name’=》’My Web Application’,那么我们在项目的任何一个地方通过该对象的属性就可以获取到“name”的值,方法为:Yii::app()-》name;3,Yii路由设置同时应该知道:对于控制器名,Yii首先会检测当前的控制器名是否是一个“模块名”,如果是模块名则先定位到模块。“模块”会在后面搭建项目的时候解释。通过上面的路由访问到的就是:SiteController.php类文件下的SiteController类中的actionIndex方法控制器文件位于:protected/controllers 目录下,也就是我们的控制器文件存放目录注意Yii中控制器文件和动作方法名的书写方式,控制器有统一的后缀”Controller“,动作方法也有统一的前缀”action“,同时要求动作方法名的命名规范符合”除第一个单词外其它每个单词的首字母要大写“由于Yii默认的控制器名为:site默认的动作名为:index***隐藏网址***4,视图调用在动作方法中,调用:$this-》render(’index’);来为对应的动作方法指定视图文件,视图文件位于:protected/views/site 目录下其中:site为对应的控制器名文件夹,每个控制器名在视图中都应该具有一个唯一的文件夹名与其相对应然后在动作方法中通过‘index’来指定显示的具体视图文件是site控制器下的指定的‘index.php’视图文件另外还需要注意:调用视图的方法有两个:$this-》render ----》 会调用模板文件和$this-》renderPartial -----》 不会调用模板文件它们之间的区别,也如上所述。

怎样知道yii框架安装配置成功

工具/原料YiiPhpStudy方法/步骤下载yii,打开yii官网,找到你要下载的内容再安装php环境,这里列出我用的PHPstudy.图中介绍安装下载完的yii放在www文件夹下4打开\framework下面 yiic.bat运行这个文件创建的应用,或者 在www目录下新建index.php 其内容:《?php// change the following paths if necessary$yii=dirname(__FILE__).’/framework/yii.php’;$config=dirname(__FILE__).’/protected/config/main.php’;// remove the following line when in production mode// defined(’YII_DEBUG’) or define(’YII_DEBUG’,true);require_once($yii);Yii::createWebApplication($config)-》run();?》加载框架 ***隐藏网址***

yii里面有那些包,那些包分别放什么的

yii的核心代码放在framework目录下 这里边的代码我们一般情况下不要做修改,除非你很牛!它里面的目录结构你大概知道是干嘛的就行,到时候遇到不清楚的方法什么的可以知道在哪查看他的源码下面的一张图是我所了解的framework下的目录

我们要做修改的文件都是在我们创建的应用程序文件夹下 这个文件夹下的文件我也以图片形式 说明一下:

我们用到的修改大部分都是这个文件夹下的 controllers models  views 这3个文件夹(说明下3个文件夹一般是用来控制前台的,后台的话可以使用yii的gii自动生成modules后台文件夹)

希望能帮到你  有不懂的再追问!

文章分享结束,yii框架目录结构和yii2的高级版和基本版的区别在哪里的答案你都知道了吗?欢迎再次光临本站哦!