PHP - CodeIgniter (CI) And Sublime Text 2

摘要:PHP - CodeIgniter (CI) And Sublime Text 2

最近在摸CI,發現有個好用的工具SublimeText 2 ,

長如下:

發現比Notepad++好用。

因為我需要在不同的檔案切換外,我也要在不同的資料夾切換,有了左邊的檔案結構,就方便許多了。

需要的人,可自行前往下載

http://www.sublimetext.com/2

 

要學CI,第一步,

先下載CI

http://www.codeigniter.org.tw/downloads

我下載2.2.0  版

將下載完的整份資料夾,

複製到根目錄底下。

我的是用XAMPP架的Apache,

所以我就放在C://xampp/htdocs/

因為我只是想測試,

所以我放在C://xampp/htdocs/test/ci

如果放正確的話,index.php就會放在這個資料夾下(及application,system)資料夾

我也將這次,測試程式放到

https://github.com/newmonkey48/citest

 

主要都是測從文件夾看完就順便練習。

而mysql,要建立一個table

如下

CREATE TABLE news (
	id int(11) NOT NULL AUTO_INCREMENT,
	title varchar(128) NOT NULL,
	slug varchar(128) NOT NULL,
	text text NOT NULL,
	PRIMARY KEY (id),
	KEY slug (slug)
);

主要每次新增一個頁面,

可能就會動到

application/controllers

application/views

application/config/routes/php

 

因為他預設的方式,會是[base_url]/index.php/[controller]/[action]/[id]

但為了不要打index.php直接打[base_url]/[controller]/[action]/[id]

 

需在index.php,同層(htdocs/test/ci/)裡新增.htaccess

內容如下

RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|asset|simages|robots\.txt|$)
RewriteRule ^(.*)$ test/ci/index.php/$1 [L,QSA]
 
這樣就可以直接用[base_url]/[controller]/[action]/[id],瀏覽該頁面。
 
再來,為了整合Twitter-Bootstrap
去參考了
https://github.com/sjlu/CodeIgniter-Bootstrap
 
將他的assets,複製到test/ci 下。
要引用bootstrap的css則用下面指令
<head>
    <link href="<?php echo base_url('assets/css/bootstrap.min.css') ?>" rel="stylesheet">
    <link href="<?php echo base_url('assets/css/font-awesome.css') ?>" rel="stylesheet">
    <link href="<?php echo base_url('assets/css/custom.css') ?>" rel="stylesheet">
</head>
 
但由於 base_url 需在controller的時候,就要下
$this->load->helper('url');
 
但若每次都要下這個很麻煩,
就可以到
application/config/autoload.php
修改
$autoload['helper'] = array('url');
 
這樣就有Bootstrap的CSS可以引用
 
接著因為我把許多用來練習的程式都放在controllers/sample及views/sample
所以routes.php
 
就要將route改一下
$route['calendar'] = 'sample/calendar';
 
接著有多國語系
我在application/language/建立tw資料夾,
檔案放index_lang.php,
$lang['language_key'] = "xxxx";
 
使用時可以在
controller需下如下指令
$this->lang->load('index', 'tw');
 
view下這個指令
echo $language_key = $this->lang->line('language_key');