Time of Update: 2017-02-27
Yii內建的Captcha基本上可以滿足大部分需求,如果你對驗證碼有特殊要求,你可以自訂Captcha,這主要是通過擴充 CCaptchaAction來實現的,本例自訂一個驗證碼功能,隨機產生10以內的加減法,使用者需要計算出正確的結果才能通過驗證。 本例基於上例Yii Framework 開發教程(20) UI 組件 Captcha樣本,做如下修改首先在protected/components 目 錄下建立一個MathCaptchaAction,重載generateVerifyCode,
Time of Update: 2017-02-27
Captcha(全自動區分電腦和人類的圖靈測試-Completely Automated Public Turing test to tell Computers and Humans Apart,簡稱CAPTCHA)俗稱驗證碼,是一種區分使用者是電腦和人的公用全Bot。在CAPTCHA測試中,作為伺服器的 電腦會自動產生一個問題由使用者來解答。這個問題可以由電腦產生並評判,但是必須只有人類才能解答。由於電腦無法解 答CAPTCHA的問題,所以回答出問題的使用者就可以被認為是人類。Yii
Time of Update: 2017-02-27
CTreeView用來顯示具有階層的資料,使用TreeView 通過設定Data屬性。Data為具有下面結構的數組:ext: string, 樹節點的文本.expanded: boolean,可選,表示該節點是否展開.id: string, 可選,該節點ID.hasChildren: boolean, 可選,預設為False,當為True表示該節點含有子節點.children: array,可選,子節點數組。.htmlOptions: array,
Time of Update: 2017-02-27
CTextHighlighter用來格式化顯示代碼,目前支援顯示的語言有ABAP, CPP, CSS, DIFF, DTD, HTML, JAVA, JAVASCRIPT, MYSQL, PERL, PHP, PYTHON, RUBY, SQL, XML,顯示代碼時也可以顯示行號,通過showLineNumbers=TRUE開啟行號顯示。本例顯示PHP代碼,一個帶行號,一個不帶行號:PHP code <!--?php
Time of Update: 2017-02-27
CTabView 用來顯示分頁標籤,使用TabView的基本方法是配置tabs屬性,每個Tab可以配置如下屬性title:標籤標 題.content: 標籤顯示內容.view: 標籤顯示View的名稱,如果同時制定Content,則顯示Content內容。url: 點擊該 標籤時頁面重新導向到指定URL.data: 當指定View屬性時傳給該View的屬性數組.本例顯示三個標籤頁,分別使用不同 的標籤內容:<center class="form">
Time of Update: 2017-02-27
CStarRating 主要用於評分,顯示一組星星(5 個)用於打分。基本用法如下<center class="form"> <?php $form=$this->beginWidget('CActiveForm'); ?> <?php $this->widget('CStarRating',array( 'model'=>$model,
Time of Update: 2017-02-27
CMultiFileUpload 用於上傳檔案,支援一次同時上傳多個檔案。這個UI組件是基於jQuery Multi File Upload 外掛程式。Yii 內建的很多UI組件都是基於JQuery,因此需要建立assets 目錄用於存放動態產生的javascripts 等。所上傳的檔案的信 息可以通過$_FILES[widget-name]來訪問,比如,CMultiFileUpload的name為”files” 所上傳的檔案資訊可以通過$_FILES ['files']
Time of Update: 2017-02-27
CMaskedTextField為格式輸入框,可以為文字框指定Mask限制使用者可以出入的文字格式設定,如本例使用99.99.9999 ,可以只允 許輸入類似日期的文本。修改View,添加CMaskedTextField 組件<?php $this->widget('CMaskedTextField',array( 'model'=>$model, 'attribute'=>'date', 'name'=>'date',
Time of Update: 2017-02-27
和Java Swing中類似Yii Framework 中的Layout 也允許嵌套,這是通過CContentDecorator來實現的,不過代碼中並不需要 直接使用CContentDecorator ,而是在定義layout使用$this->beginContent('path/to/view'); // ... content to be decorated $this->endContent();其中view
Time of Update: 2017-02-27
CClipWidget提供了類似錄製“宏”的功能,定義在CClipWidget的init和run之間的內容可以存放在Controller的Clip變數中 ,然後重新回放到任意其它位置。CClipWidget封裝的是CBaseController的beginClip和 endClip,CBaseController的 beginClip和 endClip的基本用法如下:首先定義Clip$this->beginClip('clipID'); // ...
Time of Update: 2017-02-27
前面在介紹Yii Framework 開發教程(7) 使用CHtml 建立Form和Yii Framework 開發教程(8) 使用FormModel 已經對 CActiveForm做了簡要的介紹。過幾天就是聖誕節了,這裡協助聖誕老人做個調查表,調查每個人希望得到的聖誕節禮物和聖誕 大餐想吃的食品:-)。這裡共用一部分代碼,做為後續例子的架構,基本上是複製Hello World的例子,添加了一個空
Time of Update: 2017-02-27
和通常的應用程式開發架構一樣,Yii Framework也提供了一組UI小工具(CWidget)來協助程式員設計使用者介面,小組是 CWidget 或其子類的執行個體.它是一個主要用於表現資料的組件.小組通常內嵌於一個視圖來產生一些複雜而獨立的使用者介面.例如, 一個日曆小物件可用於渲染一個複雜的日曆介面.小工具使使用者介面更加可複用.我們可以按如下視圖指令碼來使用一個小 物件:<?php $this->beginWidget('path.to.WidgetClass');
Time of Update: 2017-02-27
在建立Yii 應用的MVC做的View時,可以直接使用HTML語言直接構造整頁模式,Yii 也提供了幾個協助(helper)類簡化視圖 編寫。例如, 要建立一個文本輸入欄位,我們可以調用 CHtml::textField(); 要建立一個下拉式清單,則調用 CHtml::dropDownList()。在前面的Hangman例子的幾個View就是使用CHtml來建立View的。資訊: 你可能想知道使用協助 類的好處,如果它們所需的代碼量和直接寫純HTML的代碼量相當的話。 答案就協助類可以提供比
Time of Update: 2017-02-27
在Hangman中定義的GameController使用到一些屬性word,可以使用$this->word 的格式來讀寫這個屬性,但實際上在 GameController對應到這個屬性的方法為/** * @return string the word to be guessed. This value is persistent * during the whole game session. */ public function getWord() {
Time of Update: 2017-02-27
有了前面“Hello,World”的例子和對Yii Framework Web應用基礎的介紹,可以開始介紹一個簡單而相對而有比較完整的 Web應用-Hangman(猜單詞遊戲),這個例子是隨Yii 開發包發布的。通過這個例子可以瞭解開發Yii應用的基本步驟.說 起“Hangman”,讓我想起80年代末期高中時在CPC464電腦上完過的“猜單詞遊戲”-Hangman,每猜錯一次,就把一個小人離
Time of Update: 2017-02-27
在開發應用的過程中,調試也是非常重要的一個環節,除了IDE支援的即時調試(如VS.PHP或IDE支援的調試功能),給Web應 用添加適當的調試資訊也是非常有用的一個方法,開發過Java或.Net 應用的對log4XX都不陌生,Yii Framework中也提供了類似 的Log功能, Yii::log,它是作為CWebApplication一個內建的組件出現的。可以通過設定檔來配置(Yii中配置通常為 protected/config/main.php)。上篇文章Yii Framework
Time of Update: 2017-02-27
有了前面的“Hello,World”, Yii應用開發似乎很容易,別這麼快下結論:-),想起多年以前剛開始使用MFC開發時,寫完 第一個Hello,World之後,還是覺得無從下手,不知道怎麼開始寫MFC應用,這是因為MFC提供了大量的類庫,如果對MFC應用程 序架構和其提供的主要類庫不事先瞭解的話,基本上就沒辦法寫應用,學習Yii Framework,也要先瞭解一下組成Yii應用的幾個
Time of Update: 2017-02-27
Yii Framework 教程可以參見官方中文文檔 ,那麼為什麼還要寫這個開發教程呢? 本教程目的是通過不同的視角(主要是 通過開發Windows應用C++,C#程式員的角度)協助Windows 案頭應用或ASP.Net程式員較快的掌握PHP Yii Framework應用程式框 架。 使用PHP開發Web應用的一個重要好處是可以應用於各種作業系統(Unix,Windows,Mac OS),而不像Asp.Net一般只能應 用中Windows作業系統上。使用PHP+Apache+MySQL
Time of Update: 2017-02-27
PHP代碼============================$array = array( 'username'=>'楊鑄', 'password'=>'123456', 'user_id'=>1 ); echo json_encode($array);Java代碼============================private void startUrlCheck(String username,String
Time of Update: 2017-02-27
去年開發了一個OA系統,需要實現文檔一鍵上傳並實現線上預覽,類似百度文庫的功能。系統內容:CentOs5.5用到的工具:Openoffice 3 , Pdf2Swf tool , Jodconverter , FlexPaper網上找了些資料,早有人已經實現了這樣的功能,只不過是用JAVA來寫的東東,PHP的沒找著。結合網上的資料根據實現操作經驗。紀錄並總結一下:整體思路如下:實現步驟: 1. DOC上傳 2. DOC轉成PDF 3. PDF轉成SWF 4.