PHP Yii开源框架入门学习(一)

以下是给成员进行Yii框架培训写的一些内容。

1) 下载Yii 1.1.12:http://yii.googlecode.com/files/yii-1.1.12.b600af.tar.gz

2) 解压到/var/www/html, 并将目录重命名为yii;

3) 访问http://127.0.0.1/yii/requirements/index.php,检查电脑环境是否符合yii要求,不符合请安装所缺软件;若显示php pdo未成功,则请检查php.ini配置项是否和1.9中一致;

4) 为方便查看Yii框架中的例子程序,可在php配置文件中将sqlite数据库支持加上,重启Apache生效:

extension=php_pdo_sqlite.dll

5) 打开Yii自带的程序和网站,研究它的结构和程序:

http://127.0.0.1/yii/demos/helloworld/

http://127.0.0.1/yii/demos/blog/

等等

6) 使用Yii工具生成一个模板网站:

打开命令行工具:开始—>运行,命令如下:

C:\Users\bihhe>d:

D:\>cd /var/www/html/yii/framework

D:\var\www\html\yii\framework>/var/php53/php /var/www/html/yii/framework/yiic.php

打开浏览器输入http://127.0.0.1/test1/index.php即可访问创建的网站。

7) 创建数据库表:

CREATE TABLE`test1`.`test1_userinfo` (

 `id` INTEGER UNSIGNED NOT NULLAUTO_INCREMENT,

 `uname` VARCHAR(45) NOT NULL,

 `upass` VARCHAR(45) NOT NULL,

 `count` INTEGER UNSIGNED,

 PRIMARY KEY (`id`)

)

ENGINE = InnoDB;

8) 修改模板网站的数据库连接方式,修改test1/protected/config/main.php 如下:

          /*

          'db'=>array(

                   'connectionString' =>'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',

          ),

          */

          // uncomment the following to use aMySQL database          

          'db'=>array(

                   'connectionString' =>'mysql:host=127.0.0.1;dbname=test1',

                   'emulatePrepare' => true,

                   'username' => 'root',

                   'password' => 'password',

                   'charset' => 'utf8',

                   'tablePrefix'=>'test1_',

          ),

配好之后我们就可以在任何地方使用 Yii::app()->db调用该数据库连接了。

时间: 2024-08-02 21:48:52

PHP Yii开源框架入门学习(一)的相关文章

PHP Yii开源框架入门学习(二)修改Yii网站访问路径

默认网站访问路径如下所示: http://127.0.0.1:8080/zuizen/index.php?r=admin/UserInfo/admin 这种路径对搜索引擎不友好,需要改成如下形式: http://127.0.0.1:8080/zuizen/admin/UserInfo/admin.html 以下步骤实现以上要求: 1) 修改Apache配置,使其支持重写: 打开Apache配置文件httpd.conf:开启apache的mod_rewrite模块: 去掉LoadModule re

PHP Yii开源框架入门学习(四)添加新模块

1) 打开Gii代码生成工具,进入Module Generator页面,输入模块名如test,点击生成: 2) 生成的代码在protected/modules/test目录下,生成的文件如下: test/TestModule.php    ----  模块主类,继承自CWebModule test/controllers/DefaultController.php  ----- 默认Controller,里面有一个index action,action跳转到index视图:该模块的Control

PHP Yii开源框架入门学习(三)Yii的相关配置总结

以下是Yii相关配置的总结: 1,/protected/config/main.php中的配置: 1) 修改默认Controller,下载下来的源代码默认Controler为siteController: 在protected/config/main.php中,修改键defaultController的值为指定的controller,在该controller中须指定默认action.当request中未明确目的时,采用defaultController/defaultAction来响应. 'de

基于ASP.NET MVC的ABP框架入门学习教程_实用技巧

为什么使用ABP我们近几年陆续开发了一些Web应用和桌面应用,需求或简单或复杂,实现或优雅或丑陋.一个基本的事实是:我们只是积累了一些经验或提高了对,NET的熟悉程度. 随着软件开发经验的不断增加,我们发现其实很多工作都是重复机械的,而且随着软件复杂度的不断提升,以往依靠经验来完成一些简单的增删改查的做法已经行不通了.特别是用户的要求越来越高,希望添加的功能越来多,目前这种开发模式,已经捉襟见肘.我很难想象如何在现有的模式下进行多系统的持续集成并添加一些新的特性. 开发一个系统时,我们不可避免的

JavaScript的Backbone.js框架入门学习指引_基础知识

1.简介最近在做一个大型网上银行项目前端的优化,需要使用一个胖客户端的优化,大概思路就是前端通过Ajax 请求去后端获取数据,以Jason的格式返回,然后显示在页面上.由于这个系统非常庞大,胖客户端方案难免需要在客户端写大量的JS代码.我想对于任何团队来说,大量的,非结构化的代码维护起来都非常的不方便.所以BackBone进入了我的视线. 它提供了一种途径可以让你结构化你的JS代码,让你以面向对象的方式来组织你的前端JS代码.这就好比我们在前端应用Domain Driven Design. 我们

开源框架思索-----一篇醍醐灌顶的好文章

本文源于IT168 作者 陈雄华 http://tech.it168.com/o/2006-12-13/200612131101722.shtml 1 空前繁荣的开源世界 大致2000年以前,Java世界还是Sun一言九鼎,唯我独尊的时代.Sun发布的任何规范和标准都无一例外地被Java社区有意无意的追捧着,Java世界沉浸在一片歌功颂德,前拥后簇的氛围里.IBM,Bea,Oracle这些Java阵营的代表者也都为能最先最快实现Sun的各种规范而弹冠相庆. 但这三四年来,Java的列车驶进了春秋

深度学习入门者选择开源框架丨硬创公开课群友问答

在上周公开课<AI 从业者该如何选择深度学习开源框架丨硬创公开课>中,微软机器学习科学家彭河森博士详细讲述了各大开源框架适用的场景,课程结束后,我们特地整理了深度学习入门者较为关注的几个问答: 想学习深度学习开源框架,比如TensorFlow,Caffe,需要掌握哪些 Linux 知识? Linux 方面的知识我认为主要在系统配置方面,这里推荐一下 Docker,Docker 是一个容器虚拟机,可以让虚拟机中的程序和硬件更紧密的结合在一起,同时省去了配置 CUDA,BLAS/LAPACK 等环

Deep learning深度学习的十大开源框架

Google开源了TensorFlow(GitHub),此举在深度学习领域影响巨大,因为Google在人工智能领域的研发成绩斐然,有着雄厚的人才储备,而且Google自己的Gmail和搜索引擎都在使用自行研发的深度学习工具. 对于希望在应用中整合深度学习功能的开发者来说,GitHub上其实还有很多不错的开源项目值得关注,首先我们推荐目前规模人气最高的TOP3: 一.Caffe.源自加州伯克利分校的Caffe被广泛应用,包括Pinterest这样的web大户.与TensorFlow一样,Caffe

分布式计算开源框架Hadoop入门实践(三)

Hadoop基本流程 计算开源框架Hadoop入门实践(三)-hadoop分布式计算框架"> 一个图片太大了,只好分割成为两部分.根据流程图来说一下具体一个任务执行的情况. 在分布式环境中客户端创建任务并提交. InputFormat做Map前的预处理,主要负责以下工作: 验证输入的格式是否符合JobConfig的输入定义,这个在实现Map和构建Conf的时候就会知道,不定义可以是Writable的任意子类. 将input的文件切分为逻辑上的输入InputSplit,其实这就是在上面提到的