本文目录一览:
- 1、php网站后台地址是/index.php/admin,它最终访问的是网页目录里的什么文件?
- 2、PHP中的控制器有什么用
- 3、php 二维如何控制数组 输出的层数
- 4、PHP动态控制层
- 5、php开发框架怎么使用,刚接触框架
php网站后台地址是/index.php/admin,它最终访问的是网页目录里的什么文件?
这样的话应该是框架模式的现实方法 比如zendframework 相当于php下的index.php?admin在一般MVC下意识是调用index.php这个引入文件 然后执行控制层adminController这个类 在zend框架里里的/号相当于=号 如 index.php/user/login/username/admin/passwrod/admin1就是执行USER类下的login方法 用户名=admin 密码=admin1。
网站目录 , 是相对路径 ,你看是一个目录名 ,在服务端就是个目录名如果你访问一个目录。 如果不设置的情况会显示出该目录下的所有文件,但是现在为了安全着想都是不让显示,一般会显示一个目录下索引页面, 意思就像一本书的目录 ,他会首先显示这个 如果没有这个目录 ,会报错或者显示出所有的文件名。
PHP中的控制器有什么用
mvc三层分立,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
好处是每层对应不同的功能作用,代码清晰度高
坏处是,让程序更加麻烦
Controller(控制器)处理输入(写入数据库记录)。
php 二维如何控制数组 输出的层数
具体分析如下:
先来看看下面程序运行结果:
代码如下:
$numb=array(
array(10,15,30),array(10,15,30),array(10,15,30)
);
echo
count($numb,1);
A.3
B.12
C.6
D.9
答案是B
count函数中如果mode被设置为
COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数(也就是你结果的12)。如果不设置mode默认为0
。不检测多维数组(数组中的数组)(结果3)。
首先遍历的是外面的数组array得出有两个元素("color1″,"color2″,"color3″)
为3
再遍历("color1″,"color2″,"color3″)数组得出的是9个元素 为9
结果就是3+9=12
参考示例:
代码如下:
?php
$fruits = array (
array (1,
2,null,null, 5, 6),
array (1, 2,null,null, 5,
6),
);
echo(count($fruits[0]));
?
如果用其它方式定义的数组,比如:
代码如下:
?php
$fruits[0][0]=1;
$fruits[0][3]=1;
$fruits[0][4]=1;
echo(count($fruits[0]));
?
这样那就输出3,因为php中的数组不要求索引必须连续,参考手册上有如下一段:
数组:
PHP 中的数组实际上是一个有序图。
图是一种把 values 映射到 keys
的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。
因为可以用另一个
PHP 数组作为值,也可以很容易地模拟树。
实例:
获得二维或多维数组的第一维的长度,这是个常用的程序判断,比如读取的数组是一个二维数组:
代码如下:
?php
$arr=array(
0=array('title'
= '新闻1', 'viewnum' = 123, 'content' =
'ZAQXSWedcrfv'),
1=array('title' = '新闻2', 'viewnum' = 99,
'content' =
'QWERTYUIOPZXCVBNM')
);
?
如果想统计数组$arr的长度,也就是说该二维数组只有两条新闻,想要的数字也是2,但是如果使用count($arr)不同版本的php,统计的结果是不一样的;
后来在php手册中发现,count函数还有第二个参数,解释如下:
count函数有两个参数:
0(或COUNT_NORMAL)为默认,不检测多维数组(数组中的数组);
1(或COUNT_RECURSIVE)为检测多维数组,
所以如果要判断读取的数组$arr是不是有新闻信息,就要这样写了:
代码如下:
?php
if(is_array($arr)
count($arr,COUNT_NORMAL)0 )
{
.....
} else {
.....
}
?
可以使用这样的代码来测试该函数:
代码如下:
?php
$arr=array(
0=array('title'
= '新闻1', 'viewnum' = 123, 'content' =
'ZAQXSWedcrfv'),
1=array('title' = '新闻2', 'viewnum' = 99,
'content' = 'QWERTYUIOPZXCVBNM')
);
echo
'不统计多维数组:'.count($arr,0);//count($arr,COUNT_NORMAL)
echo
"br/";
echo
'统计多维数组:'.count($arr,1);//count($arr,COUNT_RECURSIVE)
?
PHP动态控制层
div id="sample1"========ddddddd=======/div
div id="sample2"========ccccccc=======/div
input type="button" value="显示/隐藏" id="btn_show" /
script
var Obj1 = document.getElementById("sample1");
var Obj2 = document.getElementById("sample2");
document.getElementById("btn_show").onclick = function() {
if(Obj1.style.display == '') {
Obj1.style.display = 'none';
Obj2.style.display = 'none';
} else {
Obj1.style.display = '';
Obj2.style.display = '';
}
}
/script
php开发框架怎么使用,刚接触框架
先下载一个框架的源码,研究一下,把MVC处理流程看一遍就会了,常用php框架有zendfraework,thinkphp等等,注意每个框架都是有差别的,选一个学习就可以了
最流行PHP框架排名
1. Yii
Yii是一个基于组件的高性能的PHP的框架,用于开发大规模Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从 MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主体化,I18N和L10N,Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。而且这个框架的价格也并不太高。事实上,Yii是最有效率的PHP框架之一。
2. CodeIgniter
CodeIgniter是一个应用开发框架——一个为建立PHP网站的人们所设计的工具包。其目标在于快速的开发项目:它提供了丰富的库组以完成常见的任务,以及简单的界面,富有条理性的架构来访问这些库。使用CodeIgniter开发可以往项目中注入更多的创造力,因为它节省了大量编码的时间
3. CakePHP
CakePHP是一个快速开发PHP的框架,其中使用了一些常见的设计模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目标在于提供一个令任意水平的PHP开发人员都能够快速开发web应用的框架,而且这个快速的实现并没有牺牲项目的弹性。
4.ymfony
Symfony是一个用于开发PHP5项目的web应用框架。
这个框架的目的在于加速web应用的开发以及维护,减少重复的编码工作。
Symfony的系统需求不高,可以被轻易的安装在任意设置上:你只需一个Unix或Windows,搭配一个安装了PHP5的网络服务器即可。它与差不多所有的数据库兼容。Symfony的价位不高,相比主机上的花销要低得多。
对于PHP开发者而言,使用Symfony是一件很自然的事,其学习曲线只有短短一天。干净的设计以及代码可读性将缩短开发时间。开发者可以将敏捷开发的原理(如DRY,KISS或XP等)应用在其中,将重点放在应用逻辑层面上,而不用花费大量时间在编写没完没了的XML配置文件上。
Symfony旨在建立企业级的完善应用程序。也就是说,你拥有整个设置的控制权:从路径结构到外部库,几乎一切都可以自定义。为了符合企业的开发条例,Symfony还绑定了一些额外的工具,以便于项目的测试,调试以及归档。