仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 837|回复: 18
打印 上一主题 下一主题

[学习教程] PHP编程:php skymvc 一款轻量、复杂的php

[复制链接]
第二个灵魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:37:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一些真正的强人总会搞出新玩意来丢给你,你不学就落后了,也印证了前人的经验,果然是学无止境啊!   改框架次要用于完成多个法式员之间的协同开辟和mvc开辟形式的完成.skymvc采取mvc开辟体例,框架自己易扩大。skymvc作为天网企图的基本框架,秉持易用、易学、配合开辟的优秀传统,咱们努力于打造一款优异的php
mvc框架。接待人人多多提些建议。
1.创立设置装备摆设文件skyMVC撑持主动创立网站目次:输出http://locahost/skymvc/install.php 便可主动创立
文件目次。假如创立以后想从头创立,删除install.lock文件及可。
保举主动创立。
也能够手动创立:目次都可以自界说
自界说目次时需求对法式停止响应的设置装备摆设
admin 后台目次
admin/model
admin/ctrl
attach
上传的附件目次
ctrl 掌握文件目次
data 目次
data/config.php
设置装备摆设文件
data/cache 缓存目次
data/cache/CSS
css缓存
data/cache/file文件缓存
data/cache/tpl 模板缓存
data/cache/js
js缓存
model 模子文件目次
tpl 模板目次
tpl/admin 后台模板
tpl/default
默许模板
js目次
plugin 插件目次
admin.php 后台进口文件
index.php 前台进口文件
2.进口文件


skymvc采取单一进口形式,但不是独一进口,保举利用两个进口。一个是前台进口,一个是后台进口。
1.前台进口文件实例:index.php 文件名可以自界说 保举 index 或
default
复制代码 代码以下:
<?php
require
"data/config.php";//加载设置装备摆设文件
require("skymvc/skymvc.php");//援用框架文件
//判别掌握器是不是正当
$_GET['m']=isset($_GET['m'])
&&
in_array($_GET['m'],array('index'))?$_GET['m']:'index';
//判别停止
require_once(CTRL_DIR."/{$_GET['m']}.ctrl.php");
$classname
= $_GET['m'].'Control';
$control = new
$classname();
//设置装备摆设伪静态的
$control->tpl->rewrite=false;
$control->tpl->rewrite_rule=array(array("/index.php/i"),array("index.html"));
//设置装备摆设伪静态停止
$method=isset($_GET['a'])
&& method_exists($control,'on'.$_GET['a'])?
'on'.$_GET['a']:"onDefault";
$control->$method();
?>

2.后台进口文件:admin.php 文件名可自界说
复制代码 代码以下:
<?php
require
"data/config.php";
require("skymvc/skymvc.php");
$_GET['m']=isset($_GET['m'])
&&
in_array($_GET['m'],array('index','article'))?$_GET['m']:'index';
require_once(ADMIN_DIR."/".CTRL_DIR."/{$_GET['m']}.ctrl.php");
$classname
= $_GET['m'].'Control';
$control = new
$classname();
//设置装备摆设伪静态的
$control->tpl->tplid="admin";
$control->tpl->currdir="admin";
$control->tpl->rewrite_on=true;
$control->tpl->rewrite_rule=array(array("/index.php/","index.html"));
$method=isset($_GET['a'])
&& method_exists($control,'on'.$_GET['a'])?
'on'.$_GET['a']:"onDefault";
$control->$method()
?>

申明:前后台进口文件的不同不大,次要在于 模子 和 掌握文件 地点文件夹。
3.掌握器文件
复制代码 代码以下:
<?php
class indexControl extends skymvc
{
function
__construct()
{
$this->indexControl();
}

function
indexControl()
{
parent::__construct();//父类初始化
$this->loadModel("index");
//后台

//$this->loadAdminModel("index");
}
function
onDefault()
{

$this->tpl->assign("welcome","接待利用skymvc,让咱们通力合作!");
$this->tpl->assign("who",$_ENV['indexModel']->test());
//后台
//$this->tpl->assign("who",$_ENV['admin_indexModel']->test());
$this->tpl->display("index");
}
?>

4.模子文件
模子文件次要用于处置数据,固然也能够处置其他的逻辑,但不保举。文件定名标准:类.model.php
如:index.model.php.
模子文件位于模子目次上面:如model目次
例:index.model.php
复制代码 代码以下:
<?php
class
indexModel
{
public $base;
function
__construct(&$base)
{
$this->indexModel($base);
}
function
indexModel(&$base)
{
$this->base=$base;
$this->db=$base->db;
}
function
test()
{
echo "这是模子测试";
}

}
?>

模子文件:前后台一样 就存储的中央纷歧样
5.hello world
kymvc框架的hello word !
假如是主动创立目次的话。
设置装备摆设好数据库
index.php
进口文件写好。
index.php内容
复制代码 代码以下:
<?php
require
"data/config.php";//加载设置装备摆设文件
require("skymvc/skymvc.php");//援用框架文件
//判别掌握器是不是正当
$_GET['m']=isset($_GET['m'])
&&
in_array($_GET['m'],array('index','article'))?$_GET['m']:'index';//将一切在index.php进口呈现的模块都放入array()里
//判别停止
require_once(CTRL_DIR."/{$_GET['m']}.ctrl.php");
$classname
= $_GET['m'].'Control';
$control = new
$classname();
$method=isset($_GET['a']) &&
method_exists($control,'on'.$_GET['a'])?
'on'.$_GET['a']:"onDefault";
$control->$method();?>

在ctrl目次下 创立
hello.ctrl.php 文件
复制代码 代码以下:
<?php//hellControl 类得定名标准 类名Control
class
helloControl extends skymvc
{

function __construct()
{
$this->helloControl();
}
function
helloControl()
{
parent::__construct();
$this->loadModel("hello");//载入模子
可以载入任何模子 但不克不及是不异类的模子
}
//默许履行的举措 定名标准 on函数名
function
onDefault()
{
echo "hello world
"; $this->smarty->display("hello.html");
}
//当m=hello, a=test
履行上面的函数
function
onTest(){
$this->tpl->assign("test",$_ENV['helloModel']->gettest());

$this->tpl->display("hello.html");

}
}?>

在model目次下
创立hello.model.php
复制代码 代码以下:
<?php
class helloModel
{
public
$base;
function
__construct(&$base)
{
$this->helloModel($base);
}

function
helloModel(&$base)
{
$this->base=$base;
$this->db=$base->$db;
}
//下面都是不必改的
function gettest(){
return $this->db->getRow("select * from test
limit 1");//读取数据
}
}
?>

在tpl目次下 新建 hello.html
复制代码 代码以下:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=gb2312"
/>
<title>无题目文档</title>
</head>
<body>
这是第一个例子:Hello World !
这是测试的例子:{loop $test $t} {$t}
{/loop}
</body>
</html>

skymvc 下载地址总的来说,在这一个月左右的时间中,学到的不少,但是也遇到不少的问题,比如批量图片的上传,一直到现在也不懂,如何实现动态的增加上传图片的数量。
不帅 该用户已被删除
沙发
发表于 2015-2-4 03:52:08 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
小魔女 该用户已被删除
板凳
发表于 2015-2-8 20:04:00 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
小女巫 该用户已被删除
地板
发表于 2015-2-26 03:08:33 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
冷月葬花魂 该用户已被删除
5#
发表于 2015-2-26 04:26:06 | 只看该作者
实践是检验自己会不会的真理。
分手快乐 该用户已被删除
6#
发表于 2015-3-3 13:34:30 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
乐观 该用户已被删除
7#
发表于 2015-3-6 21:27:31 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
变相怪杰 该用户已被删除
8#
发表于 2015-3-9 00:30:08 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
飘飘悠悠 该用户已被删除
9#
发表于 2015-3-14 12:55:11 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
10#
发表于 2015-3-16 00:58:20 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
再见西城 该用户已被删除
11#
发表于 2015-3-22 18:11:45 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
再现理想 该用户已被删除
12#
发表于 2015-3-22 18:11:45 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
山那边是海 该用户已被删除
13#
发表于 2015-4-7 21:16:17 | 只看该作者
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
莫相离 该用户已被删除
14#
发表于 2015-4-8 20:44:51 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
因胸联盟 该用户已被删除
15#
发表于 2015-4-11 02:10:06 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
金色的骷髅 该用户已被删除
16#
发表于 2015-6-4 03:03:50 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
柔情似水 该用户已被删除
17#
发表于 2015-7-2 18:43:38 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
admin 该用户已被删除
18#
发表于 2015-7-7 09:34:17 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
若相依 该用户已被删除
19#
发表于 2015-7-9 06:54:50 | 只看该作者
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-14 05:15

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表