php ID首碼格式化類

資料庫表通常都會有一個欄位類型為int,命名為id的自增主鍵。優點:使用int類型可自增,且比字元類型節省儲存空間。 缺點:id是數值型,當要查詢一個id對應的資料時,很難根據id判斷是哪一個資料表。因此我們在儲存時,應使用int,而在顯示時對id進行一些處理,使很容易分辨這個id屬於哪一個表。 編寫了下面這個類,實現對id增加首碼及對已加首碼的id還原。Prefix.class.php<?php/** * ID首碼格式化類 * Date: 2016-10-27 * Author:

php 將print_r處理後的資料還原為原始數組的方法

php print_r方法可以把變數列印顯示,使變數易於理解。如果變數是string,integer或float,將列印變數值本身,如果變數是array,將會按照一定格式顯示鍵和元素。object與數組類似。print_r用於列印數組較多。php原生沒有把print_r方法列印後的資料還原為原始數組,因此寫了下面這個方法,實現將print_r處理後的資料還原為原始數組。 RestorePrint.class.php<?php/** * 將print_r處理後的資料還原為原始數組 *

php 根據自增id建立唯一編號類

在開發過程中,我們資料表一般都使用自增數字作為id主鍵,而id是數字型,不容易理解。我們把id按一定格式轉為編號後,很容易根據編號知道代表的是什麼內容。例如訂單表id=20160111197681234,只看id我們並不知道這個id是訂單表的id,而轉為編號O-20160111197681234,則很容易看出是訂單表的記錄,然後可以根據id在訂單表中搜尋。 編號建立的規則1.唯一 使用自增id產生,保證唯一性2.儘可能短 可使用數字求餘對應字母的方式處理,建立較短的編號

Yii架構官方指南系列52——專題:效能調整

網路應用程式的效能受很多因素的影響。資料庫存取,檔案系統操作,網路頻寬等都是潛在的影響因素。 Yii 已在各個方面減少架構帶來的效能影響。但是在使用者的應用中仍有很多地方可以被改善來提高效能。1. 開啟 APC 擴充啟用 PHP APC 擴充 可能是改善一個應用整體效能的最簡單方式。此擴充緩衝和最佳化 PHP 中間代碼並避免時間花費再為每個新來的請求解析PHP指令碼。2. 禁用偵錯模式禁用偵錯模式是另一個改善效能的容易方式。若常量 YII_DEBUG 被定以為 true,這個 Yii

Yii架構官方指南系列51——專題:安全措施 (Security)

1. 跨站指令碼攻擊的防範跨站指令碼攻擊(簡稱 XSS),即web應用從使用者收集使用者資料。 攻擊者常常向易受攻擊的web應用注入JavaScript,VBScript,ActiveX,HTML或 Flash來迷惑訪問者以收集訪問者的資訊。 舉個例子,一個未經良好設計的論壇系統可能不經檢查就顯示使用者所輸入的內容。 攻擊者可以在文章內容中注入一段惡意的JavaScript代碼。

Yii架構官方指南系列50——專題:控制台應用

控制台應用主要用於實現線上Web應用所需要的離線操作,例如代碼產生, 搜尋索引編譯, 郵件發送等等. Yii架構以物件導向的方式提供了一個編寫控制台應用的架構. 它允許控制台應用訪問線上Web應用所使用的資源 (例如資料庫連接資訊) .1. 概覽Yii可以以命令列的方式運行每一個控制台任務,控制台命令是一個繼承自CConsoleCommand的類。當我們使用 yiic webapp 工具建立一個初始化的Yii應用骨架的時候, 我們可以在protected檔案夾下看到如下兩個檔案:yiic:

Yii架構官方指南系列49——專題:使用非主流模板文法

Yii架構允許開發人員使用自己喜好的模板文法 (例如 Prado, Smarty)來編寫控制器或者掛件的視圖. 這可以通過編寫和安裝一個viewRenderer應用組件來實現. 這個視圖渲染器攔截CBaseController::renderFile的調用,通過自訂的模板文法編譯視圖檔案,然後渲染最終編譯結果.Info: 只有當編寫的視圖很少複用時才推薦使用自訂模板文法. 否則的話,在應用中複用視圖將會強制使用同樣的模板文法.接下來, 我們會介紹如何使用

Yii架構官方指南系列增補版48——專題:國際化 (I18N)

國際化 (譯者註:即 Internationalization,因為這個單詞 I 和 n 之間有18個字母,因此常縮寫為I18N) 是指設計一種應用軟體的過程,這種軟體無需做大的工程改變就能適應不同的語言和地區的需要。 對 Web 應用程式來說,國際化尤為重要,因為潛在的使用者可能來自世界的各個角落。Yii 在若干方面提供了對 I18N 的支援它為每種可能的語言和變數提供了本地化資料。它提了供資訊和檔案的翻譯服務。它提供了基於本地化的日期和時間格式。它提供了基於本地話的數字格式。在下面的小節中,

Yii架構官方指南系列47——專題:Web Service

Web service 是一個軟體系統,設計來支援電腦之間跨網路相互訪問。在Web應用程式,它通常用一套API,可以被互連網訪問和執行在遠端系統主機上的被請求服務。系統主機所要求的服務。例如,以Flex為基礎的用戶端可能會援引函數實現在伺服器端運行PHP的Web應用程式。 Web service依賴SOAP作為通訊協定棧的基礎層。Yii提供CWebService和CWebServiceAction簡化了在Web應用程式實現Web service。這些API以類形式實現,被稱為service

Yii架構官方指南系列46——專題:錯誤處理

Yii提供了一個完整的,基於PHP5異常處理的錯誤處理機制。當一個應用開始運行,進行使用者請求的處理的時候,會註冊handleError方法來處理PHP warnings和notices資訊;同時也註冊加handleException方法來處理未被捕獲的PHP異常。因此,如果在應用運行期間出現一個PHP warning/notice 或者一個未捕獲的PHP異常,錯誤處理器就會接過控制權來運行必要的處理機制。提示:

Yii架構官方教程增補版45——專題:日誌記錄

Yii 提供了一個靈活可擴充的日誌功能。記錄的日誌 可以通過記錄層級和資訊分類進行歸類。通過使用 層級和分類過濾器,所選的資訊還可以進一步路由到 不同的目的地,例如一個檔案,Email,瀏覽器視窗等。1. 資訊記錄資訊可以通過 Yii::log 或 Yii::trace 記錄。其區別是後者只在當應用程式運行在偵錯模式(debug mode) 中時才會記錄資訊。Yii::log($message, $level, $category);Yii::trace($message, $category)

Yii架構官方指南系列44——專題:Theming(主題)

Theming是一個在Web應用程式裡定製網頁外觀的系統方式。通過採用一個新的主題,網頁應用程式的整體外觀可以立即和戲劇性的改變。在Yii,每個主題由一個目錄代表,包含view檔案,layout檔案和相關的資源檔,片, CSS檔案, JavaScript檔案等。主題的名字就是他的目錄名字。全部主題都放在在同一目錄WebRoot/themes下

Yii架構官方指南系列43——專題:URL(建立、路由、美化及自訂)

Web應用程式完整的URL管理組件括兩個方面。首先, 當使用者請求約定的URL,應用程式需要解析 它變成可以理解的參數。第二,應用程式需求提供一種創造URL的方法,以便建立的URL應用程式可以理解的。對於Yii應用程式,這些通過CUrlManager輔助完成。1. Creating

Yii架構官方指南系列42——專題:驗證和授權

對於需要限制某些使用者訪問的網頁,我們需要使用驗證(Authentication)和授權(Authorization)。 驗證是指核查一個人是否真的是他自己所聲稱的那個人。這通常需要一個使用者名稱和密碼, 但也包括任何其他可以表明身份的方式,例如一個智慧卡,指紋等等。 授權則是找出已通過驗證的使用者是否允許操作特定的資源。 這一般是通過查詢此使用者是否屬於一個有權訪問該資源的角色來判斷的。Yii 有一個內建的驗證/授權(auth)架構,用起來很方便,還能對其進行自訂,使其符合特殊的需求。Yii

Yii架構官方指南系列41——專題:自動代碼產生

自版本 1.1.2 起, Yii 裝備了基於 Web 介面的代碼產生工具Gii。 它取代了之前的命令列端的代碼產生工具 yiic shell。 在這部分,我們將講解如何使用 Gii 以及如何擴充 Gii 以增加我們的開發成果。1. 使用 GiiGii 是以模組的方式實現的,它必須在一個已存在的 Yii 應用程式中使用。要使用 Gii,我們首先更改應用程式的配置如下:return array( ...... 'modules'=>array( 

Yii架構官方指南系列增補版40——測試:功能測試(Functional Testing )

在閱讀本章節之前, 強烈推薦你先閱讀Selenium文檔和 PHPUnit文檔. 下面我們簡要概述在Yii架構中編寫功能測試的基本原則:和單元測試一樣, 功能測試以繼承子自CWebTestCase的XyzTest類的形式編寫, 其中 Xyz 代表被測試的類. 由於 PHPUnit_Extensions_SeleniumTestCase 是 CWebTestCase的祖先類, 我們我們可以從這個類中繼承所有方法.功能測試類以XyzTest.php的形式儲存在PHP檔案中.方便起見,

Laravel最佳分割路由檔案(routes.php)的方式

本文是一篇關於Laravel分割路由檔案(routes.php)的最佳方式教程文章,內容介紹的很詳細,學習Laravel的小夥伴可以參考學習。前言Laravel 的路由功能很強大,預設都是定義在 routes.php 檔案中,隨著項目越來越大,我們需要的定義的路由越來越多,想象一下,如果幾百上千個路由都定義在一個檔案中,如何去維護?也許還有不同的人都在同一個檔案定義路由,這就造成了衝突,因此我們需要分割 routes.php 檔案。下面介紹一種很優雅的方式。在

yii2 資料庫讀寫分離配置樣本

開始使用資料庫首先需要設定資料庫串連組件,通過添加 db 組件到應用配置實現("基礎的" Web 應用程式是 config/web.PHP),DSN( Data Source Name )是資料來源名稱,用於指定資料庫資訊.如下所示:return [ // ... 'components' => [ // ... 'db' => [ 'class' =>

Yii2實現跨mysql資料庫關聯查詢排序功能代碼

本篇文章主要介紹了Yii2實現跨mysql資料庫關聯查詢排序功能樣本,具有一定的參考價值,感興趣的小夥伴們可以參考一下。背景:在一個mysql伺服器上(注意:兩個資料庫必須在同一個mysql伺服器上)有兩個資料庫:memory (儲存常規資料表) 中有一個 user 表(記錄使用者資訊)memory_stat (儲存統計資料表) 中有一個 user_stat (記錄使用者統計資料)現在在 user 表產生的 GridView 列表中展示 user_stat

從無限極分類記憶體佔用看“遞迴”

在PHP的無限級分類中,用到的很多方法都是遞迴,但是我們對遞迴的理解還很模糊,我們接下來就深入理解下遞迴的優缺點,讓大家能有個全面的認識。什麼是遞迴?定義遞迴(英語:Recursion),又譯為遞迴,在數學與電腦科學中,是指在函數的定義中使用函數自身的方法。英文的Recursion從詞源上分析只是"re- (again)" + "curs- (come, happen)" 也就是重複發生,再次重現的意思。 而對應的中文翻譯 ”遞迴“ 卻表達了兩個意思:”

總頁數: 5203 1 .... 870 871 872 873 874 .... 5203 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.