經常調用的常量、變數、方法、函數

來源:互聯網
上載者:User
<?php     defined('YII_DEBUG') or define('YII_DEBUG', true);  //當在偵錯模式下,應用會保留更多日誌資訊,如果拋出異常,會顯示詳細的錯誤呼叫堆疊。因此,偵錯模式主要適合在開發階段使用,YII_DEBUG 預設值為 false。    return $this->render('list');                        //載入視圖模板,一定要return 否則會空白    $this->render('_overview');                          //在視圖模板中,可以通過這種方式載入視圖模板         //#############################請求#######################    $request = Yii::$app->request;    $get = $request->get();                          // 等價於: $get = $_GET;    $id = $request->get('id');                           // 等價於: $id = isset($_GET['id']) ? $_GET['id'] : null;    $id = $request->get('id', 1);                        // 等價於: $id = isset($_GET['id']) ? $_GET['id'] : 1;    $post = $request->post();                            // 等價於: $post = $_POST;     $name = $request->post('name');                      // 等價於: $name = isset($_POST['name']) ? $_POST['name'] : null;    $name = $request->post('name', '');                  // 等價於: $name = isset($_POST['name']) ? $_POST['name'] : '';         //#############################請求方式#######################    $request = Yii::$app->request;    if ($request->isAjax) { /* 該請求是一個 AJAX 請求 */ }    if ($request->isGet)  { /* 要求方法是 GET */ }    if ($request->isPost) { /* 要求方法是 POST */ }    if ($request->isPut)  { /* 要求方法是 PUT */ }         //#############################請求類屬性#######################    Yii::$app->request->url;                      //結果:/admin/index.php/product?id=100, 此URL不包括host info部分。    Yii::$app->request->absoluteUrl;                  //結果:http://www.phpxs.com/post/index.php/product?id=100, 包含host infode的整個URL。    Yii::$app->request->hostInfo;                 //結果:http://www.phpxs.com, 只有host info部分。    Yii::$app->request->pathInfo;                 //結果:/product, 這個是入口指令碼之後,問號之前(查詢字串)的部分。    Yii::$app->request->queryString;                  //結果:id=100,問號之後的部分。    Yii::$app->request->baseUrl;                      //結果:/admin, host info之後, 入口指令碼之前的部分。    Yii::$app->request->scriptUrl;                    //結果:/admin/index.php, 沒有path info和查詢字串部分。    Yii::$app->request->serverName;                   //結果:example.com, URL中的host name。    Yii::$app->request->serverPort;                   //結果:80, 這是web服務中使用的連接埠。    Yii::$app->request->userAgent;                    //結果:返回 User-Agent 頭    Yii::$app->request->contentType;                  //結果:返回 Content-Type 頭的值, Content-Type 是請求體中MIME類型資料。    Yii::$app->request->acceptableContentTypes;       //結果:返回使用者可接受的內容MIME類型。 返回的類型是按照他們的品質得分來排序的。得分最高的類型將被最先返回。    Yii::$app->request->acceptableLanguages;          //結果:返回使用者可接受的語言。 返回的語言是按照他們的偏好層次來排序的。第一個參數代表最優先的語言。    Yii::$app->request->getPreferredLanguage();       //結果:這個方法通過 yiiwebRequest::acceptableLanguages 在你的應用中所支援的語言列表裡進行比較篩選,返回最適合的語言。         //#############################用戶端資訊#######################    Yii::$app->request->userHost;    Yii::$app->request->userIP;         #############################HTTP頭部#######################    $headers = Yii::$app->response->headers;    $headers->add('Pragma', 'no-cache');     // 增加一個 Pragma 頭,已存在的Pragma 頭不會被覆蓋。    $headers->set('Pragma', 'no-cache');     // 設定一個Pragma 頭. 任何已存在的Pragma 頭都會被丟棄    $values = $headers->remove('Pragma');        // 刪除Pragma 頭並返回刪除的Pragma 頭的值到數組         //#############################檔案下載#######################    yiiwebResponse::sendFile();             //發送一個已存在的檔案到用戶端    yiiwebResponse::sendContentAsFile();        //發送一個文本字串作為檔案到用戶端    yiiwebResponse::sendStreamAsFile();     //發送一個已存在的檔案流作為檔案到用戶端         public function actionDownload(){        return Yii::$app->response->sendFile('path/to/file.txt');    }         //#############################301跳轉########################    Yii::$app->response->redirect('http://example.com/new', 301)->send();         //#############################狀態代碼########################    Yii::$app->response->statusCode = 200;         //#############################session使用########################    $session = Yii::$app->session;     if ($session->isActive)          // 檢查session是否開啟    $session->open();                    // 開啟session    $session->close();                   // 關閉session    $session->destroy();             // 銷毀session中所有登入的資料         //#########################cookie的使用#############    $cookies = Yii::$app->request->cookies;    $language = $cookies->getValue('language', 'en');    // 擷取名為 "language" cookie 的值,如果不存在,返回預設值"en"         // 另一種方式擷取名為 "language" cookie 的值    if (($cookie = $cookies->get('language')) !== null) {        $language = $cookie->value;    }         // 可將 $cookies當作數組使用    if (isset($cookies['language'])) {        $language = $cookies['language']->value;    }         // 在要發送的響應中添加一個新的cookie    $cookies->add(new yiiwebCookie([        'name' => 'language',        'value' => 'zh-CN',    ]));         // 判斷是否存在名為"language" 的 cookie    if ($cookies->has('language'))    if (isset($cookies['language'])) ;                 //#####################Yii2.0 對資料庫 查詢的一些簡單的操作 #####################    class UserModel extends  yiidbActiveRecord{        public function test(){            self::find()->all();                                                    //此方法返回所有資料;            self::findOne($id);                                                     //此方法返回 主鍵 id=1  的一條資料(舉個例子);            self::find()->where(['name' => '小夥兒'])->one();                         //此方法返回 ['name' => '小夥兒'] 的一條資料;            self::find()->where(['name' => '小夥兒'])->all();                         //此方法返回 ['name' => '小夥兒'] 的所有資料;            self::find()->orderBy('id DESC')->all();                                //此方法是排序查詢;            self::findBySql('SELECT * FROM user')->all();                           //此方法是用 sql  語句查詢 user 表裡面的所有資料;            self::findBySql('SELECT * FROM user')->one();                           //此方法是用 sql  語句查詢 user 表裡面的一條資料;            self::find()->andWhere(['sex' => '男', 'age' => '24'])->count('id');     //統計合格總條數;            self::find()->one();                                                    //此方法返回一條資料;            self::find()->all();                                                    //此方法返回所有資料;            self::find()->count();                                                  //此方法返回記錄的數量;            self::find()->average('age');                                           //此方法返回指定列的平均值;            self::find()->min('age');                                               //此方法返回指定列的最小值 ;            self::find()->max('age');                                               //此方法返回指定列的最大值 ;            self::find()->scalar();                                                 //此方法傳回值的第一行第一列的查詢結果;            self::find()->column();                                                 //此方法返回查詢結果中的第一列的值;            self::find()->exists();                                                 //此方法返回一個值指示是否包含查詢結果的資料行;            self::find()->batch(10);                                                //每次取 10 條資料            self::find()->each(10);                                                 //每次取 10 條資料, 迭代查詢        }    }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.