设为首页 收藏本站
查看: 937|回复: 0

[经验分享] PHP框架Yii系列教程(一):入门实例

[复制链接]

尚未签到

发表于 2017-4-4 06:47:20 | 显示全部楼层 |阅读模式
1准备Yii源码
  首先新建helloyii目录作为Web应用的根目录,并添加到Nginx的配置文件中。然后将Yii框架源码部署到helloyii下,目录结构如下:
  helloyii/
  |-- framework
  |-- ……
  |-- YiiBase.php
  |-- yiic
  |-- yii.php
  `-- zii
2编写HelloWorld
2.1目录结构
  程序目录结构如下:
  app/
  |-- index.php
  `-- protected
  |-- controllers
  | `-- HelloController.php
  `-- views
  `-- hello
  `-- result.php
2.2主要代码
  index.php
  ===============================================================================
  <?php
  // change the following paths if necessary
  $yii=dirname(__FILE__).'/../framework/yii.php';
  // remove the following lines when in production mode
  defined('YII_DEBUG') or define('YII_DEBUG',true);
  // specify how many levels of call stack should be shown in each logmessage
  defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);
  require_once($yii);
  Yii::createWebApplication()->run();
  ?>
  protected/controllers/HelloController.php
  ===============================================================================
  <?php
  class HelloController extends CController
  {
  public function actionSay()
  {
  $varYii = "hi,yii";
  $this->render('result', array('varYii'=>$varYii));
  }
  }
  ?>
  protected/views/hello/result.php
  ===============================================================================
  <?php
  echo $varYii;
  ?>
2.3开始访问
  现在可以直接访问了:http://helloyii.com/app/index.php?r=hello/say
3源码解析
3.1资源映射规则
  访问Url经过index.php处理,将请求转发到HelloController的actionSay方法中,然后通过result.php生成最终HTML页面。具体映射关系如下图所示:
DSC0000.jpg

  注:如果ControllerID和ActionID为默认值site和index的话,则可以通过http://helloyii.com/app/index.php直接访问。请求会转发给SiteController的actionIndex()方法。
4自动生成代码工具
  Yii提供了Yiic和Gii两个代码生成工具,可以生成内容更加丰富的实例,下面就来试用一下。
  首先切换到/export/data/helloyii,然后执行:
  framework/yiicwebapp demo
  将会在/export/data/helloyii/demo中自动生成示例程序代码。
  现在在浏览器中访问helloyii.com/demo/index.php即可看到成功页面。
DSC0001.jpg

5常见问题
  访问index.php时,PHP打印警告日志:Warning: date(): It is not safe to rely on the system's timezonesettings. You are *required* to use the date.timezone setting or thedate_default_timezone_set() function…
  在php.ini中设置默认时区,或者修改helloyii/demo/protected/views/layouts/main.php:
  ===============================================================================
  ……
  <?phpdate_default_timezone_set('Europe/Athens'); ?>
  <div id="footer">
  Copyright &copy; <?phpecho date('Y'); ?> by My Company.<br/>
  All Rights Reserved.<br/>
  <?php echo Yii::powered();?>
  </div><!-- footer -->
  ===============================================================================
参考资料
  1一起学Yii—-Hello world
  http://istrone.com/?p=451
  2 yii框架之hello world
  http://513394217.blog.163.com/blog/static/10979118620124288721586/
  3 Creating Your First Yii Application
  http://www.yiiframework.com/doc/guide/1.1/en/quickstart.first-app
  4应用Yii1.1和PHP5进行敏捷Web开发
  http://yiibook.com/book/agile_web_application_development_with_yii1.1_and_php5/chapter-2

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-359796-1-1.html 上篇帖子: 《PHP Web2.0 开发实战》学习笔记1 下篇帖子: PHP基础001: PHP中单引号与双引号的区别
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表