2015年8月19日 星期三

Zf2研習筆記_進階20150817第一天之(二)

三、CloudSchool1.0 系統配置

(一)建立系統配置檔

複製 local.php.dist 為 local.php
複製 module.doctrine-mongo-odm.local.php.dist 為 module.doctrine-mongo-odm.local.php

複製 application.config.php.dist 為 application.config.php
複製 sfs-upgrade.php.dist 為 sfs-upgrade.php

(二)config/autoload/local.php
以下要改的地方:1.資料庫名稱、2.資料庫帳號、3.資料庫密碼。這裡的設定是要設定新學務系統(CS1.0)的資料庫連結。


(三)sfs3 升級設定
修改/sfs_upgrade.php
以下的設定是針對有升級需求才需要設定,要改的地方有
1.學制(國民中學或國民小學)
2.sfs3資料庫的資料庫名稱、帳號、密碼
3.新的學務CS1.0的資料庫名稱、帳號、密碼


(四)整理升級資料庫(舊sfs)
1.將舊的sfs資料資料庫備份出來
mysqldump -uroot -p密碼 sfs3 > sfs.sql
2.在新主機上建立sfs3資料庫,做為待會要匯入sfs.sql資料之用
mysql -uroot -p
mysql>Create database `sfs3`;

3.回到Ubuntu指令輸入模式下,把sfs.sql的資料到回到sfs3資料庫
mysql -uroot -p密碼 sfs3 < sfs.sql

如此一來,我們就可以在新的主機上擁有舊編碼的sfs3的資料庫了,但是因為新的CS1.0擁有屬於自己的資料庫編碼與新的資料表關聯,所以以上的目的,純粹只是作為升級前的準備工作。
(五)建立資料庫
接著需要建立一個新的資料庫,但是這個新的資料庫需要設定為UTF-8編碼
mysql -uroot -p
mysql>CREATE DATABASE `school_074775` CHARACTER SET utf8 COLLATE utf8_general_ci;


若是建立完成的話,可以使用show databases;指令查看,應該會有新舊學籍系統的資料庫名稱

(六建立資料表
php module/SfsUpgrade/sfs-upgrade.php create-new-db
(七升級資料庫
php module/SfsUpgrade/sfs-upgrade.php upgrade-base

(八)開始使用CS1.0
1.此時若你在瀏覽器輸入local.cs要開啟CloundSchool,還會出現一個錯誤訊息,那是因為暫存cache的data資料夾權限尚未設定正確,在cloudschool的路徑下執行
chmod -R 777 data
data權限尚未設定

設定好後,終於看到新學籍系統的登入畫面了
2.設定管理者:CS1.0升級後較特別的是系統管理員必須重新指定。
php module/SfsUpgrade/sfs-upgrade.php set-admin 使用者帳號

三、Doctrine 練習
接著先讓我們先來瞭解一下zend framework2的檔案結構與網址的對應關係,簡言之網址的格式為
http://主機Domain/模組名稱/控制器名稱/Action名稱
舉例來說:就下圖來看,若主機Domain已定義為local.cs的前提下,模組Module名稱為application,控制器Controller名稱為Index,Action名稱為test,所以如果我們想要看到該網頁內容,網址就要輸入
http://local.cs/application/index/test
註:模組及控制器的名稱大小寫沒有差別,但是最後的action不可以/為結束,否則會被視為資料夾而產生錯誤。

此外,我們網頁的輸出顯示,其實可以直接在Controller中的function xxxAction中直接打上網頁程式碼或php的程式語法,但是這樣做的話,就浪費了zf2中樣板、物件設定的優點。所以我們通常不這樣做,有看到
public function indexAction()
{
$viewMode = new ViewModel();
return $viewMode;
這幾行吧!
我們設定了indexAction的方法Method,假如indexAction的方法被物件化時,可以把物件的回傳值,傳遞給viewMode,

待續....





研習網頁
http://docs.sfs.tw/


沒有留言:

張貼留言