導航:首頁 > 編程語言 > 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相關的資料

熱點內容
阿里雲伺服器終端在哪裡 瀏覽:144
app紙有什麼用 瀏覽:219
cuteftp命令 瀏覽:502
最開始的編程語言是什麼 瀏覽:757
at遠程命令 瀏覽:490
雲伺服器哪家好點 瀏覽:211
android系統源碼閱讀 瀏覽:924
dumpjava分析工具 瀏覽:678
怎麼下載cpu源碼 瀏覽:154
代碼加密怎麼取消 瀏覽:888
編譯原理代碼在哪裡運行 瀏覽:584
解密攝影pdf 瀏覽:72
演算法編程中級題目 瀏覽:250
c語言編譯器畢業設計 瀏覽:717
醫保卡申請app哪個好 瀏覽:945
阿里雲伺服器上傳源碼 瀏覽:602
營銷管理科特勒pdf 瀏覽:696
願望清單app哪個好 瀏覽:461
安卓外放聲音怎麼解決 瀏覽:195
脈脈app干什麼用的 瀏覽:361