导航:首页 > 编程语言 > php54thinkphp

php54thinkphp

发布时间:2022-08-27 02:31:43

㈠ 怎么用thinkphp搭建前端后台框架

以前用PHP做过一个很蹩脚的网站,为什么这么说呢,因为写的全是死代码。做完以后觉得实在是累,前端要div+css,js 后端要php,MySQL,这么多东西要弄,十分头疼。所以,在接到做网站的任务后,我第一时间想到一定要使用开发框架去做,绝不能跟以前一样那么累了。
我选择的是PHP的ThinkPHP框架。说实话,真的蛮不错的。瞬间觉得Web开发还是蛮有效率的。
超级链接:ThinkPHP中文网
按照套路,首先贴一下实验环境:
1. WAMP(集成的那种,最Easy的几乎不需要配置)
2. ZendStudio7.2(中文网址http://www.zendstudio.net/,里面提供下载,在线注册机以及使用教程)
3. ThinkPHP框架+网络UEditor编辑器插件
4. Win7-64bit操作系统
5. 浏览器(火狐,IE,Chrome),外加火狐FireBug插件用于调试以及偷样式

㈡ thinkphp怎么使用命令行生成模块

用Yeoman开发的Thinkphp的生成器

可以通过命令行
1.建立Thinkphp项目
2.生成控制器/模型/视图
3.创建新代码模块

提供类似Laravel的artisan的功能,刚刚发布了第一个预览版本~
可以通过npm安装使用
npm install -g yo generator-thinkphp

㈢ PHP网站打不开,报错问题,高手来解答

PHP Warning: require(/data/wwwroot/default./CORE//Core.php)

分析上面这个警告,意思如下:
请求文件:/data/wwwroot/default./CORE//Core.php
别的先不说,/CORE//Core.php 这里中间“//”应该是多了个/
你检查下Core.php文件的路径是否是上面的路径,如果路径确定没问题;

index.php第39行: require(THINK_PATH.'/Core.php');

改成:require(THINK_PATH.'Core.php');

文件夹 CORE 访问权限设为777

㈣ thinkphp框架控制器怎么写

以我的电脑为例吧,我的“F:PHPApplication”目录下有个“home”目录,这是ThinkPHP自动生成的一个控制器,
主要文件是“F:.class.php”
在地址栏输入“http://localhost/index.php”,回车,看到的内容,就是这个文件中“Index”函数中的内容。
访问规则
就“home”目录下的控制器举例,您可以通过以下URL地址访问:

http://localhost/index.php
http://localhost/index.php/Home
http://localhost/index.php/Home/Index
http://localhost/index.php/Home/Index/Index


创建第一个控制器
在“F:PHPApplication”目录下新建一个目录“Index”,偷个赖,把“F:PHPApplicationHome”目录下的内容都复制
到“F:PHPApplicationIndex”目录下,打开“F:.class.php”文件,
为了确定访问的确实是我们新加的内容,在“Index”函数中添加点东西,代码如下:
试试通过以下URL地址访问吧:http://localhost/index.php/Index

http://localhost/index.php/Index/Index
http://localhost/index.php/Index/Index/Index


修改惯例配置
ThinkPHP的默认模块名称是“Home”,也就是说如果你在浏览器地址栏中输入“http://localhost/index.php”的话,默认访问的是“http://localhost/index.php/Home”。
修改方法:用文本编辑工具打开“F:PHPThinkPHPConfconvention.php”文件,
修改第44行为:'DEFAULT_MODULE' => 'Index', // 默认模块

㈤ 关于thinkphp开发的几种规范

1.类文件都是以.class.php为后缀(这里是指的ThinkPHP内部使用的类库文件,不代表外部加载的类库文件),使用驼峰法命名,并且首字母大写,例如
DbMysql.class.php;
2.类的命名空间地址和所在的路径地址一致,例如 Home\Controller\UserController类所在的路径应该是
Application/Home/Controller/UserController.class.php;
3.确保文件的命名和调用大小写一致,是由于在类Unix系统上面,对大小写是敏感的(而ThinkPHP在调试模式下面,即使在Windows平台也会严格检查大小写);
4.类名和文件名一致(包括上面说的大小写一致),例如 UserController类的文件命名是UserController.class.php,
InfoModel类的文件名是InfoModel.class.php, 并且不同的类库的类命名有一定的规范;
5.函数、配置文件等其他类库文件之外的一般是以.php为后缀(第三方引入的不做要求);
6.函数的命名使用小写字母和下划线的方式,例如 get_client_ip;

㈥ 如何用thinkPHP 构建一个简单的项目

1、使用sftp协议进行上传的操作:输入用户名和用户密码。

㈦ thinkphp 模板与控制器之间执行过程

ThinkPHP中的跨控制器调用与框架执行流程

一、跨控制器调用
UserController.class.php
<?php

namespace Home/Controller
use Think/Controller

class UserController extends Controller{
public function show(){
//TODO
}
}
复制代码
IndexController.class.php(方法一)
复制代码
<?php
namespace Home/Controller
use Think/Controller

class IndexController extends Controller{
public function count(){
//通过快捷函数来实例化一个控制器
//User为控制器名
$user = A('User');
$user-> show();
}
}

IndexController.class.php(方法二)

<?php
namespace Home/Controller
use Think/Controller

class IndexController extends Controller{
public function count(){
//User为控制器名,show为其方法
R('User/show');
}
}

二、ThinkPHP执行流程
当一个客户端发起一个请求的时候先去访问应用入口文件
<?php

// 应用入口文件

// 检测PHP环境
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');

// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define('APP_DEBUG',True);

// 引入ThinkPHP入口文件
require '../../ThinkPHP/ThinkPHP.php';
在应用入口文件中引入TinkPHP框架的入口文件,然后执行该文件中的代码。

在TinkPHP.php中做了一些初始化操作,比如定义了大量的全局常量,运行环境检测等

ThinkPHP.php
<?php

// 记录开始运行时间
$GLOBALS['_beginTime'] = microtime(TRUE);
// 记录内存初始使用
define('MEMORY_LIMIT_ON',function_exists('memory_get_usage'));
if(MEMORY_LIMIT_ON) $GLOBALS['_startUseMems'] = memory_get_usage();

// 版本信息
const THINK_VERSION = '3.2.3';

// URL 模式定义
const URL_COMMON = 0; //普通模式
const URL_PATHINFO = 1; //PATHINFO模式
const URL_REWRITE = 2; //REWRITE模式
const URL_COMPAT = 3; // 兼容模式

// 类文件后缀
const EXT = '.class.php';

// 系统常量定义
defined('THINK_PATH') or define('THINK_PATH', __DIR__.'/');
defined('APP_PATH') or define('APP_PATH', dirname($_SERVER['SCRIPT_FILENAME']).'/');
defined('APP_STATUS') or define('APP_STATUS', ''); // 应用状态 加载对应的配置文件
defined('APP_DEBUG') or define('APP_DEBUG', false); // 是否调试模式

if(function_exists('saeAutoLoader')){// 自动识别SAE环境
defined('APP_MODE') or define('APP_MODE', 'sae');
defined('STORAGE_TYPE') or define('STORAGE_TYPE', 'Sae');
}else{
defined('APP_MODE') or define('APP_MODE', 'common'); // 应用模式 默认为普通模式
defined('STORAGE_TYPE') or define('STORAGE_TYPE', 'File'); // 存储类型 默认为File
}

defined('RUNTIME_PATH') or define('RUNTIME_PATH', APP_PATH.'Runtime/'); // 系统运行时目录
defined('LIB_PATH') or define('LIB_PATH', realpath(THINK_PATH.'Library').'/'); // 系统核心类库目录
defined('CORE_PATH') or define('CORE_PATH', LIB_PATH.'Think/'); // Think类库目录
defined('BEHAVIOR_PATH')or define('BEHAVIOR_PATH', LIB_PATH.'Behavior/'); // 行为类库目录
defined('MODE_PATH') or define('MODE_PATH', THINK_PATH.'Mode/'); // 系统应用模式目录
defined('VENDOR_PATH') or define('VENDOR_PATH', LIB_PATH.'Vendor/'); // 第三方类库目录
defined('COMMON_PATH') or define('COMMON_PATH', APP_PATH.'Common/'); // 应用公共目录
defined('CONF_PATH') or define('CONF_PATH', COMMON_PATH.'Conf/'); // 应用配置目录
defined('LANG_PATH') or define('LANG_PATH', COMMON_PATH.'Lang/'); // 应用语言目录
defined('HTML_PATH') or define('HTML_PATH', APP_PATH.'Html/'); // 应用静态目录
defined('LOG_PATH') or define('LOG_PATH', RUNTIME_PATH.'Logs/'); // 应用日志目录
defined('TEMP_PATH') or define('TEMP_PATH', RUNTIME_PATH.'Temp/'); // 应用缓存目录
defined('DATA_PATH') or define('DATA_PATH', RUNTIME_PATH.'Data/'); // 应用数据目录
defined('CACHE_PATH') or define('CACHE_PATH', RUNTIME_PATH.'Cache/'); // 应用模板缓存目录
defined('CONF_EXT') or define('CONF_EXT', '.php'); // 配置文件后缀
defined('CONF_PARSE') or define('CONF_PARSE', ''); // 配置文件解析方法
defined('ADDON_PATH') or define('ADDON_PATH', APP_PATH.'Addon');

// 系统信息
if(version_compare(PHP_VERSION,'5.4.0','<')) {
ini_set('magic_quotes_runtime',0);
define('MAGIC_QUOTES_GPC',get_magic_quotes_gpc()? true : false);
}else{
define('MAGIC_QUOTES_GPC',false);
}
define('IS_CGI',(0 === strpos(PHP_SAPI,'cgi') || false !== strpos(PHP_SAPI,'fcgi')) ? 1 : 0 );
define('IS_WIN',strstr(PHP_OS, 'WIN') ? 1 : 0 );
define('IS_CLI',PHP_SAPI=='cli'? 1 : 0);

if(!IS_CLI) {
// 当前文件名
if(!defined('_PHP_FILE_')) {
if(IS_CGI) {
//CGI/FASTCGI模式下
$_temp = explode('.php',$_SERVER['PHP_SELF']);
define('_PHP_FILE_', rtrim(str_replace($_SERVER['HTTP_HOST'],'',$_temp[0].'.php'),'/'));
}else {
define('_PHP_FILE_', rtrim($_SERVER['SCRIPT_NAME'],'/'));
}
}
if(!defined('__ROOT__')) {
$_root = rtrim(dirname(_PHP_FILE_),'/');
define('__ROOT__', (($_root=='/' || $_root=='\\')?'':$_root));
}
}

// 加载核心Think类 ThinkPHP/Library/Think/Think.class.php
require CORE_PATH.'Think'.EXT;
// 应用初始化,调用Think类的静态方法start()
Think\Think::start();
Think.class.php

View Code
在start方法中主要的工作就是读取配置文件信息(Tinkphp/Mode/common.php, Thinkphp/Conf/convention.php),引入核心文件(Thinkphp/Library/Think),如果是应用模式则会生成runntime.php文件,如果框架被第一次调用还会为了我们生成应用目录。在start最后调用了App:run()静态方法。

App.class.php
View Code
在该类中有两个重要的方法,init()和exec()方法。init()主要进行路由解析,看用户是请求那个模块下的哪个控制器的方法。而exec()则是根据init()解析的结果通过反射机制来实例化一个Controller并并调用相应的方法。

总结

通过流程分析来看,这个框架主要由三个文件构成ThinkPHP.php,Think.class.php, App.class.php,当然还有其它的一些辅助类或方法来帮助完成整个响应。

阅读全文

与php54thinkphp相关的资料

热点内容
愿望清单app哪个好 浏览:457
安卓外放声音怎么解决 浏览:194
脉脉app干什么用的 浏览:357
拽姐是哪个app 浏览:858
云服务器删除了还有吗 浏览:232
macbook可以用单片机嘛 浏览:307
南阳php招聘 浏览:814
去哪里找按摩师很漂亮的app 浏览:818
86x99用简便算法计算 浏览:830
php截图flash 浏览:274
卸载联想app哪个好 浏览:721
php文字转图片 浏览:332
豆客后台怎么加密码 浏览:576
jpg转换pdf破解版 浏览:979
php基础书籍推荐 浏览:779
服务器与外网不通如何验证 浏览:353
电子版是不是就是文件夹 浏览:52
游戏属性文件加密 浏览:464
如何让安卓手机桌面图标下移 浏览:530
ubuntuphp5环境搭建 浏览:101