ci的HMVC

没有评论

2010 年 12 月 13 日 at 下午 10:51分类:PHP | WEB开发

HMVCHierarchical-Model-View-Controller),也可以叫做 Layered MVC。故名思意,就是按等级划分的 MVC 模式,简单的解释就是把MVC又细分成了多个子 MVC,每个模块就分成一个 MVC。

使用 HMVC 的好处就是可以降低各个功能模块之间的耦合性,提高代码复用性,使得每个功能都可以独立出来,每个模块都有自己的 MVC 结构,这就有点像 ActiveX 控件,每个控件都有自己的行为,控件之间互不影响。

CodeIgniter 结构示意

application
 	|- controllers
 		|- controllers1.php
 		|- controllers2.php
 		|- ...
 	|- models
 		|- models1.php
 		|- models2.php
 		|- ...
 	|- views
 		|- views1
 			|- index.php
 			|- footer.php
 			|- ...
 		|- views2
 			|- index.php
 			|- footer.php
 			|- ...
 		|- ...
上面的就是 CodeIgniter 原来的结构,如果是 HMVC 的话结构就是:
application
 	|- modules
 		|- modules1
 			|- controllers
 				|- controllers.phpCI
 			|- models
 				|- models.php
 			|- views
 				|- index.php
 				|- footer.php
 				|- ...
 		|- modules2
 			|- controllers
 				|- controllers.php
 			|- models
 				|- models.php
 			|- views
 				|- index.php
 				|- footer.php
 				|- ...
 		|- ....
 	|- controllers
 		|- ...
 	|- models
 		|- ...
 	|- views
 		|- ...
请注意,以上只是 CodeIgniter 框架的 HMVC 文件夹结构的一种表现形式,不代表 HMVC 必须以这个结构为准,需要根据不同语言或框架来设计其 HMVC 结构。

今天学会的几个基本命令

没有评论

2010 年 12 月 13 日 at 下午 10:17分类:Linux

uptime:显示联系信息-时间的
w:显示已经登录的用户
who:联机信息 ,常用参数, -r 运行级别
whoami:显示当前的用户名
last: 最近用户登录的信息
uname:显示系统信息,可以通过命令:uname –help 来查看主要有那些参数和相关的功能
date:显示系统时间 用参数-u 来显示UTC时间
cal:显示日历
ls:显示当前目录下面的文件列表,上一次已经讲过了
file:使用命令:file filename来显示文件的类型
du:计算文件或目录空间占用;
less:浏览文件 如:less bin.php浏览bin.php文件的内容
cat:输出文件内容有多个文件用空格分开,如:cat bin.php file.php
touch:用来创建一个空间;一次性创建多个文件用空格分开如:touch bin.php kia.php
mkdir:创建文件夹,使用-p参数可以按路径创建多级命令如:mkdir -p a/b/c
cp:复制文件,源路径和目标路径都要是绝对的 如:cp bin.php ../bin.php 将当前目录先面的bin.php文件复制到上一层目录下面去
rm:删除文件:如:rm bin.php
rmdir:删除目录 如:rmdir a 要是该目录下面有多个目录或者是该目录不为空,用命令rm -r a来删除
nano:打开一个编辑器,并且写入内容,保存在当前目录下
我们要是想把一个文件的输出内容放到另外一个文件中可以执行如下操作
cat -r bin.php > hello.php 或者:
less bin.php > hello.php
这样子就把cat和less命令要输出的内容放到了hello.php文件中了!
> 是重写!如果要咋指定的文件上续写的话 可以使用 >>如:
cat -b bin.php > file.php
less bin.php >> file.php
这样子我们就吧两次的内容都写在了file.php文件里面了!
这就是今天掌握的几个命令!

ubuntu安装/卸载软件的基本命令

没有评论

2010 年 12 月 13 日 at 下午 3:51分类:Linux

最近刚装了ubuntu,遇到了一些问题也增长了一些经验,哈哈
下面是常用的安装命令:
apt包管理器
apt-get install xxx 安装xxx
-d 仅下载
-f 强制安装
apt-get remove xxx 卸载xxx
apt-get update 更新软件信息数据库
apt-get upgrade 进行系统升级
apt-cache search 搜索软件包

deb格式的软件包安装
普通安装:dpkg -i package_name.deb
dpkg -i | –install xxx.deb 安装deb软件包
dpkg -r | –remove xxx #删除软件包 ,这个需要root才行,
dpkg -r -P | –purge xxx.deb 连同配置文件一起删除
dpkg -I | -info xxx.deb 查看软件包信息
dpkg -L xxx #查看文件拷贝详情,列出该包内的文件信息
dpkg -l 查看系统中已安装软件包信息
dpkg-reconfigure xxx 重新配置软件包

源码包
源码包的安装有点麻烦,并了便于管理,我们建议您将下载的源码包移动到“/usr/local/src/”目录下,并在这里解包
sudo tar -xzvf xxx.tar.gz
之后,进入源码目录
sudo ./configure [--prefix=/usr/loca/xxx ......]
它会自动检测软件的编译环境和依赖关系,并且生成“Makefile”文件。“–prefix=/usr/local/xxx”参数,将软件的安 装目录设定为“/usr/local/xxx/”。
将源代码文件编译成目标文件。
sudo make
执行“make install”命令,“make”工具会自动将连接目标文件,将最终生成的文件拷贝到“Makefile”文件设定的路径中,并且完成更改文件的属性,删除残留文件等活动。
sudo make install
现在,您的编译安装已经完成,为了更方便的使用它,需要给程序的可执行文件作一个符号链接。
sudo ln -sf /usr/local/xxx/exe /usr/local/bin/exe
Tips:为了顺利的进行编译,您至少需要安装“build-essential”软件包。
使用命令“sudo apt-get install build-essential”安装它。

下面这篇文章不错:

http://www.digglife.cn/articles/how-to-install-software-in-ubuntu.html

http://qiuye.javaeye.com/blog/461394

ubuntu安装deb文件的步骤

没有评论

2010 年 12 月 13 日 at 下午 3:40分类:Linux

ubuntu的软件包格式是deb,如果要安装rpm的包,则要先用alien把rpm转换成deb。
sudo apt-get install alien #alien默认没有安装,所以首先要安装它
sudo alien xxxx.rpm #将rpm转换位deb,完成后会生成一个同名的xxxx.deb
sudo dpkg -i xxxx.deb #安装
注意,用alien转换的deb包并不能保证100%顺利安装,所以可以找到deb最好直接用deb

有时候,我们想要使用的软件并没有被包含到 Ubuntu 的仓库中,而程序本身也没有提供让 Ubuntu 可以使用的 deb 包,你又不愿从源代码编译。但假如软件提供有 rpm 包的话,我们也是可以在 Ubuntu 中安装的。
方法一
1. 先安装 alien 和 fakeroot 这两个工具,其中前者可以将 rpm 包转换为 deb 包。安装命令为:
sudo apt-get install alien fakeroot
2. 将需要安装的 rpm 包下载备用,假设为 package.rpm。
3. 使用 alien 将 rpm 包转换为 deb 包:
fakeroot alien package.rpm
4. 一旦转换成功,我们可以即刻使用以下指令来安装:
sudo dpkg -i package.deb
方法二
1.
CODE:
sudo apt-get install rpm alien
2.
CODE:
alien -d package.rpm
3.
CODE:
sudo dpkg -i package.deb

要想查看某个软件是否安装以及安装的版本信息,我们用如下命令:
dpkg -l | grep filename #其中的filename是指安装的软件的名字,不包含.deb部分
或者:
sudo apt-get install aptitude
然后执行 sudo aptitude 进入管理界面即可 :)

linux学习之任务管理

没有评论

2010 年 12 月 13 日 at 上午 10:49分类:Linux

&:在命令的末尾加上一个 & 符号,表示背景任务,例如: wget http://www.download.net/xxx/mp3 & 在后台执行一首歌的下载(这里使用wget这个程序)
; :使用 ; 将多个命令连结起来,则表示任务按顺序执行
&&:使用 && 将多个命令连结起来,则表示只有前面的命令执行成功,后面的命令才能得以执行
“:命令行
`<命令>` ,如果一个命令中包含以 “ (Esc 键下方的按键)括起来的子命令,那么子命令将被优先执行,执行结果被代入上一级命令继续执行,例如
创建一个以当前时间命名的文件:
touch `date +%m.%d_%H:%M:%S`
touch 命令能够创建一个文件,它的操作对象,为 date +%m%d%H%M%S 命令的输出 12.13_06:06:60这样,我们创建了一个名为 06.06_06:06:60 的文件(12月13日六时六分刚过六十秒-_-!);我们要是想创建一个普通的文件,如:touch bin.php 这样子我们就创建了一个bin.php的文件
bg:将挂起的任务背景运行。这时它的状态为:[1]+ xxx &;
fg:将背景任务调到前台执行;
如果后台运行多个任务,您可以在 bg 或者 fg 后跟任务编号,作为操作对象,例如:命令bg 2 查看的是后台运行的ID为2的任务

我们在昨天讲了ls -l这个命令,使用来显示当前目录下面的文件和文件夹的,输出的结果有7列,
要是我们 想把这些显示的内容放到一个文件中,我们使用命令:ls -l > filename ,则样子我们就把输出的内容放在了一个以filename为名子的文件内 ,这个文件在/home/username/下面!
>:复位向符号,它的作用是将命令的输出复位向到一个文件中。比如我们想把命令 ls 的结果保存为 FileList 文件,作一个清单,我们可以使用复位向符号来完成它
>>:作用与 > 基本相同,不同点在于, >> 以追加的方式,将命令的输出写入文件的末尾。
<:是从文件到命令的复位向,将文件的内容作为命令的输入。 这里简单的说下脱字符(\) 据我的理解这个有点像windows下面的转义的意思 比如上面说的“;”这个是将多个命令连接起来,但是我们有时候不许要这个功能,可是我们还是要用到;那么我们可以这样子:“\;”这样子就不是把多个命令连接起来执行的意思了! 脱字符(\)在 Shell 中也可以作为换行符,在一个命令的末尾添加一个 \ ,然后回车,在下一行继续输入命令剩余的部分,将一个命令拆分为多行且不影响它的执(如果执行一个很长的命令,请将它拆分为多行以便于阅读)事实上换行符也符合脱字符的定义。回车键有两个涵义,一个是 执行 (Enter),另一个换行 (折线箭头)。在 Shell 中它作为控制字符 执行 ,使用脱字符后,它便代表排版字符 换行 了。 Fish 是一款非常友好的 Shell,大力推荐!使用命令 sudo apt-get install fish 安装它。完成后,运行命令 fish 切换到 fish, exit 返回 bash。 安装mplayer 命令行下:sudo apt-get install mplayer