小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

thinkphp常用變量_懶人程序

 yliu277 2015-12-02
模板常量

__ROOT__:      根目錄
__SELF__:      當前頁面地址
__ACTION__:    2級 控制器地址 /index.php/index/page

__URL__:       1級 控制器地址 /index.php/index

__APP__:     輸出app入口地址  /index.php

__PUBLIC__: 跟目錄public目錄

以上縮寫僅適用于模板中使用

 

echo THINK_VERSION; 版本信息

 

C函數(shù)

C('DB_NAME','thinkphp'); 設置

C('DB_NAME');  讀取

C();   讀取全部

 

M函數(shù)

$User = M('User'); //實例化User模型 同等于 $User = new Model('User');  

$User->select(); //執(zhí)行其他的數(shù)據(jù)操作

 

G函數(shù)      // 統(tǒng)計區(qū)間內(nèi)存使用情況
G('begin');
PHPcode 
echo G('begin','end');

 

L函數(shù)

L('LANG_VAR','語言定義');//定義

L('LANG_VAR');   //讀取

$lang['lang_var1'] = '語言定義1';
$lang['lang_var2'] = '語言定義2';
$lang['lang_var3'] = '語言定義3';
L($lang);  //批量設置

$lang = L(); //讀取全部

{$Think.lang.lang_var}   //模板里使用     
{:L('lang_var')}
如果更改語言包 需要刪除本地cookie

 

要啟用多語言功能,首先要下載多語言行為擴展(http://www./extend/186.html),或者下載官方的完整擴展包(http://www./down/253.html) 里面也已經(jīng)包含多語言行為擴展了,把下載后解壓到的CheckLangBehavior.class.php 文件放入ThinkPHP/Extend/Behavior(如果沒有請手動創(chuàng)建)目錄下面。然后在項目的行為配置文件(Conf/tags.php)中 啟用多語言行為,添加如下配置項:

return array(
      'app_begin' => array('CheckLang')  // 添加下面一行定義即可
 );

    項目config.php文件加入

    'LANG_SWITCH_ON' => true,   // 開啟語言包功能
    'LANG_AUTO_DETECT' => true, // 自動偵測語言 開啟多語言功能后有效
    'DEFAULT_LANG' => 'zh-cn', // 默認語言
    'LANG_LIST'        => 'zh-cn,en-us', // 允許切換的語言列表 用逗號分隔
    'VAR_LANGUAGE'     => 'l', // 默認語言切換變量

 

 

-----------------------------------------------------------------

$Model = new Model() // 實例化一個model對象 沒有對應任何數(shù)據(jù)表 

$Model->execute('update think_user set name='thinkPHP' where status=1');

 

 

$user = $Data->getBy字段名('值'); //查詢字段名為值的所有記錄

echo $Data->getFieldBy字段名('值','返回字段'); //查詢字段名為值的 返回id值

 

-------------------------------------------------------------------

隱藏index.php

如果是Apache則需要在入口文件的同級添加.htaccess文件,內(nèi)容如下

  1. <IfModule mod_rewrite.c>

  2. RewriteEngine on

  3. RewriteCond %{REQUEST_FILENAME} !-d

  4. RewriteCond %{REQUEST_FILENAME} !-f

  5. RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

  6. </IfModule>

 

// 添加數(shù)據(jù)庫配置信息 'DB_TYPE'   => 'mysql', // 數(shù)據(jù)庫類型

'DB_HOST'   => 'localhost', // 服務器地址

'DB_NAME'   => 'thinkphp', // 數(shù)據(jù)庫名

'DB_USER'   => 'root', // 用戶名

'DB_PWD'    => '', // 密碼 

'DB_PORT'   => 3306, // 端口 

'DB_PREFIX' => 'think_', // 數(shù)據(jù)庫表前綴

 

獲取變量

$id = $this->_get('id'); // 獲取get變量

$this->_get('name','strip_tags'); //獲取變量并執(zhí)行函數(shù)

$this->_get('id','strip_tags',0);//不存在的默認是0

3.1.3 以上用

I('get.id');

I('get.name',''); // 如果不存在$_GET['name'] 則返回空字符串

I('get.name','','htmlspecialchars'); // 采用htmlspecialchars方法

I('get.'); // 獲取整個$_GET 數(shù)組

 

I('param.id'); //自動判斷類型

echo I('param.1'); // 參數(shù)1
echo I('param.2'); // 參數(shù)2

I('id'); //等于I('param.id')

 

 

 

模板技術(shù)

 

config.php  'TMPL_TEMPLATE_SUFFIX'=>'.tpl' 設置默認模板的擴展名

常量

!-Public-!: 會被替換成當前項目的公共模板目錄 通常是 /項目目錄/Tpl/當前主題/Public/ 
!-TMPL-!: 會替換成項目的模板目錄 通常是 /項目目錄/Tpl/當前主題/
(注:為了部署安全考慮,!-Public-!和!-TMPL-!不再建議使用)
!-PUBLIC-!:會被替換成當前網(wǎng)站的公共目錄 通常是 /Public/
!-ROOT-!: 會替換成當前網(wǎng)站的地址(不含域名) 
!-APP-!: 會替換成當前項目的URL地址 (不含域名)
!-GROUP-!:會替換成當前分組的URL地址 (不含域名)
!-URL-!: 會替換成當前模塊的URL地址(不含域名)
!-ACTION-!:會替換成當前操作的URL地址 (不含域名)
!-SELF-!: 會替換成當前的頁面URL

 

新增加自己的常量

'TMPL_PARSE_STRING'  =>array(

    '!-PUBLIC-!' => '/Common', // 更改默認的!-PUBLIC-! 替換規(guī)則

     '__JS__' => '/Public/JS/', // 增加新的JS類庫路徑替換規(guī)則

     '__UPLOAD__' => '/Uploads', // 增加新的上傳路徑替換規(guī)則

)

 

<import type='css' file='c' />  導入默認網(wǎng)站Public目錄下的c.css

<import type='css' file='c,css.style' />  導入Public/c.sss 和Public/css/style.css

<import type='js' file='js.1' />  導入Public/js/1.js

<include file='comm:head'/>    導入模板comm模塊下的head模板

<include file='content'/>      導入同模塊下的content模板

 

 

跳轉(zhuǎn)

 $this->assign('waitSecond',5);   時間

 $this->success('提示消息',地址);   

config.php 設置模板

    'TMPL_ACTION_ERROR'     => 'Public:error', // 默認錯誤跳轉(zhuǎn)對應的模板文件
    'TMPL_ACTION_SUCCESS'   =>  'Public:success', // 默認成功跳轉(zhuǎn)對應的模板文件
    'TMPL_EXCEPTION_FILE'   =>  'Public:exception',// 異常頁面的模板文件

在tpl新建Public目錄和相關(guān)頁面

 

$this->redirect(地址,  array('status'=>1,'id'=>200),延時,單位為秒, 提示信息) ;

 

 

自動驗證 和自動完成

<?
class NewsModel extends Model{
    protected $_validate = array(  //自定驗證
        array('title','require','標題不能為空!'),
        array('content','require','內(nèi)容不能為空。'),
    
    );
    
     protected $_auto = array (  //自動完成
        array('zz','1'),
        array('date','time',3,'function'),
    );
    

 protected $insertFields = 'account,password,nickname,email';  //插入的時候的字段  其他無效 

 protected $updateFields = 'nickname,email';                   //更新的字段   其他無效

 

    


    public function getinfo(){
        
        return 'asdasd';
        }
    
}

?>

 

 

   array(填充字段,填充內(nèi)容[,填充條件][,附加規(guī)則])

1 必須。需要填充的表單字段,這個字段不一定是數(shù)據(jù)庫字段,也可以是表單的一些輔助字段,例如驗證碼等。

2 必須。要對字段自動填充的內(nèi)容。

3 可選。 1 :新增數(shù)據(jù)時候填充(默認)2 :更新數(shù)據(jù)時候填充 3 :全部情況下填充

4 可選。string:字符串,表示填充內(nèi)容為字符串(默認)function:使用函數(shù),表示填充的內(nèi)容是一個函數(shù)返回值 callback:使用方法,表示填充的內(nèi)容是一個當前 Model 的方法返回值 field:字段,表示填充的內(nèi)容是一個其他字段的值

 

 

數(shù)據(jù)庫設置config.php  

// 添加數(shù)據(jù)庫配置信息
'DB_TYPE'   => 'mysql', // 數(shù)據(jù)庫類型
'DB_HOST'   => 'localhost', // 服務器地址
'DB_NAME'   => 'thinkphp', // 數(shù)據(jù)庫名
'DB_USER'   => 'root', // 用戶名
'DB_PWD'    => '', // 密碼
'DB_PORT'   => 3306, // 端口
'DB_PREFIX' => 'think_', // 數(shù)據(jù)庫表前綴

 

 

開啟調(diào)試模式

Conf\config.php 

define('APP_DEBUG',TRUE);

新建Conf\debug.php

<?php
return array(
    'SHOW_PAGE_TRACE' =>true,
);
?>

TRACE 只有在display()后 才能顯示;

網(wǎng)站內(nèi)部可以用

 

 

 

 

 

緩存

S(array('type'=>'xcache','expire'=>60));  //cache 

cache('a',$value,300);//設置

$value = cache('a');//讀取

    cache('a',null);//刪除

 

快速緩存

F('name',值); //設置

$Data=F('name'); //讀取   默認目錄在 項目\Runtime\Data

F('data',NULL); 刪除

F('User/abc',$data);/創(chuàng)建帶目錄的user是文件名 abc的名字   讀取也是需要帶上目錄 F('User/abc') 

 

sql 緩存  $db-> cache(true) -> order('id desc')->select(); //默認 DATA_CACHE_TIME 設置時間

    $db->cache('cache_name',60)->select();         

 

 

 

控制器 

 

public function _empty($name){     

空方法 

   }

 

空控制器和空方法

class EmptyAction extends Action{
    
     public function index(){
            echo 'no';
     }
    public function _empty(){
            echo 'no__';
     }
}

 

 

前置后置

    class IndexAction extends Action{
        //前置操作方法
        public function _before_index(){
            echo 'before<br/>';
        }
        public function index(){
            echo 'index<br/>';
        }
        //后置操作方法
        public function _after_index(){
            echo 'after<br/>';
        }
    }

 

IS_GET    是否GET請求
IS_POST    是否POST請求
IS_PUT    是否PUT請求
IS_DELETE    是否DELETE請求
IS_AJAX    是否AJAX請求

 

 

 

分頁

             $db = D('News');     
             $count      = $db->count(); //統(tǒng)計總數(shù) 
             import('ORG.Util.Page');// 導入分頁類
             $Page       = new Page($count,5);// 實例化分頁類 傳入總記錄數(shù),和每頁的數(shù)量
             $show       = $Page->show();// 分頁顯示輸出
             $data = $db->cache(false)->limit($Page->firstRow.','.$Page->listRows) -> order('id desc')->select();

             $this -> assign('show', $show); //列表

上傳

public function upload() {
        import('ORG.Net.UploadFile');
          $upload = new UploadFile();// 實例化上傳類
          $upload->maxSize  = 3145728 ;// 設置附件上傳大小
          $upload->allowExts  = array('jpg', 'gif', 'png', 'jpeg');// 設置附件上傳類型
          $upload->savePath =  './Public/Uploads/';// 設置附件上傳目錄      
        $upload->thumb=true;//產(chǎn)生縮略圖
        $upload->thumbMaxWidth=100;
        $upload-> thumbMaxHeight=100;
        $upload->thumbPrefix='s_';              
 
        if(!$upload->upload()) {    
            $this->error($upload->getErrorMsg());// 上傳錯誤提示錯誤信息
        }
        else
        {// 上傳成功
              $info = $upload->getUploadFileInfo();
              $db=D('News');
              $_POST['pic']=$info[0]['savepath'].$info[0]['savename'];
    
              if($db->add($_POST)){
                    $this->success('上傳成功!');    
              }else{
                    $this->error('上傳失??!');                    
               }
       }
}

 

驗證碼

模板里 <input name='abc' type='text' /><img src='__APP__/index/verify' />

 

程序

  if(session('verify') != md5($_POST['abc'])) {
               $this->error('驗證碼錯誤!');
  }

 

獲取ip

$ip = get_client_ip();  //127.0.0.1

$ip = get_client_ip(1); //2130706433

 

根據(jù)id獲取更多信息

 import('ORG.Net.IpLocation');// 導入IpLocation類
 $Ip = new IpLocation(); // 實例化類
 $location = $Ip->getlocation('127.168.49.22'); // 獲取某個IP地址所在的位置
 dump($location);

地址庫文件UTFWry.dat放入IpLocation擴展類庫所在目錄下面即可

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多