当前位置:首页 » 编程语言 » php静态

php静态

发布时间: 2022-01-10 17:51:58

A. php 静态方法 是什么意思

<?php
header('content-type:text/html;charset=utf-8');
/*
普通方法,存放类内,只有一份
静态方法,也是存放于类内,只有一份
区别在于:普通方法需要对象去调用,需要绑定$this
即,普通方法,必须要有对象,然后让对象来调用
而静态方法,不属于哪一个对象,因此不需要绑定$this
即,不需要对象也可以调用
*/
class Human{
static public $head=1;
public function easyeat(){
echo '普通方法吃饭<br />';
}
static public function eat(){
echo '静态方法吃饭<br />';
}
public function intro(){
echo $this->name;
}
}
Error_reporting(E_ALL|E_STRICT);
//此时没有对象!方法可以执行
Human::eat();
/*
以下方法easyeat是一个非静态方法,就由对象来调用,但,用类来调用此方法来也可以执行,而严格状态下,此方法会执行,同时报错,
Strict Standards: Non-static method Human::easyeat() should not be called statically in D:\application\PHPnow-1.5.6\htdocs\yan18\types\staticfun.php on line 32
*/
Human::easyeat();
/*
接上,从逻辑来理解,如果用类名静态调用非静态(普通)方法
比如:intro()
那么,这个$this是指哪个对象呢??
因此会报错,因为找不到对象!
Fatal error: Using $this when not in object context in D:\application\PHPnow-1.5.6\htdocs\yan18\types\staticfun.php on line 23
*/
Human::intro();
/*
如上分析,其实,非静态方法,是不能由类名静态调用的,但目前,php中的面向对象检测不够严格,只要静态方法中没有$this关键字,就会转化成静态方法来处理!
*/
$li=new Human();
$li->eat();
/*
总结:
类》访问->静态方法(类的方法)->可以
类》访问->普通方法(对象的方法)->不可以(虽然方法里不用$this关键字时,可以!但不支持这种写法)
对象》访问》静态方法(类的方法)->可以
对象》访问》普通方法(对象的方法)->可以
*/
?>

B. php 什么时候 静态方法

当一个方法被执行时才占内存,执行完毕就释放了,静态函数加载时会放到静态区,暂时不占内存

C. php静态属性跟常量有什么区别啊

类的静态属性. 会在类文件加载的时候, 就初始化.
属性值是可以更改的.
常量...一旦定义了. 就无法变更值..
这应该算是最大区别.

另外, 常量只能是简单的数据类型(如: int , string , boolean,float , double) ,
类的静态属性, 可以是php所支持的任意变量类型(但初始化的时候. 只能是简单数据类型, 数组)

D. php中static静态类与static 静态变量用法区别

sybase_connect
连上数据库
语法: int sybase_connect(string [servername], string [username], string [password]);
返回值: 整数
函数种类: 数据库功能
本函数用来打开与 Sybase 数据库的连接。参数 servername 为欲连上的数据库服务器名称。参数 username 及 password 可省略,分别为连接使用的帐号及密码。使用本函数需注意早点关闭数据库,以减少系统的负担。连接成功则返回数据库的连接代号,失败返回 false 值。

E. php如何实现网页静态

一、静态化的优点:
1有利于搜索引擎收录网站页面的信息:搜索引擎更喜欢静态的,更变于抓取,搜索引擎SEO排名会更容易提高。
2静态网页化网页稳定
3可以提高网页加载速度
4减轻服务器负担,浏览器不需要频发调用数据库。
5数据库出错不会影响正常访问
二、伪静态
PHP伪静态:是利用Apache mod_rewite实现url重写的方法
改写访问地址,能够通过URL的PATHINFO模式来改动它。让它看上去更像一个静态页面。从而有更大的几率被搜索引擎抓取和收录,仅是对搜索引擎比较友好,伪静态化
三、纯静态化
纯静态化,就是生成HTML文件的方式,我们须要开启PHP自带的缓存机制,即ob_start来开启缓存。而且在ob_start之前不能有不论什么输出,否则运行失败,然后我们用ob_get_contents函数来获取缓存中的内容,该函数会返回一个字符串。第三个函数就是ob_end_clean,它用来清空缓存中的内容而且关闭,成功返回True,失败返回False。
<?php
if(file_exists("match.html") && (time()-filemtime("match.html"))<300)
{
//如果存在对应的静态文件,则直接访问
require_once("match.html");
}else{
//这里用数组来仿真数据库操作,现实一般都是操作数据库得到对应数据
$student = array("huangxing","chenyuwei",'xufei','zhangjingwen','xuepei');
ob_start();
//载入模板
require_once("muban.php");
file_put_contents("match.html",ob_get_clean());
require_once('match.html');
}

F. php的静态变量究竟有什么作用

一、静态变量具有这样的特性:


当在某函数里定义一个静态变量后,这个变量不会即使函数退出了,在下次调用这个函数时,它会使用前次被调用后留下的值。


此外,虽然该变量不随函数的退出而继续存在,但函数的外部并不能使用它。


因此,静态变量的应用时机如下:


当多次调用一个函数,且要求在调用之间保留某些变量的值时,可考虑采用静态局部变量。


虽然用全局变量也可以达到上述目的,但全局变量有时会造成意外的副作用,因此仍以采用局部静态变量为宜。


以下是某应用中的示例代码:

<?PHP
functionTest()
{
static$count=0;
$count++;
echo$count;
if($count<10){
Test();
}
$count--;
}
?>


二、对于类中定义的静态变量来说,简单点说,类的静态成员可以不用实例化而直接使用。

G. PHP变量的静态范围是什么

正常情况下变量是在运行完当前页面后进行销毁的(PHP自己的特性),如果不想销毁可以使用静态变量.新手的话,三人行慕课上可以学习

H. [php]怎么能改成静态的啊

这个就叫做静态化了,常见的方法有几种:
1、用smarty模板,是一种缓存机制,简单学习一下就好了;
2、把页面全部生成了静态html文件,常见的方法是按照网页的规律,用正则匹配网址,然后确定一个静态的html路径,路径存到数据库里,生成为html文件,然后链接全部读取html的路径。
3、伪静态,就是服务器把地址伪装成html格式的,其实不是真正的静态html文件。可以搜索:apache rewrite 重写。是根据网址的规则,用正则表达式匹配的,比如新闻页面news.php?id=100,匹配成news/100.html。

I. PHP静态方法和非静态方法的区别

静态方法必须使用static关键字声明,面向对象编程中我们通常通过类的实例(而不是类的本身)来调用类,类其实是对象的模板,但是静态方法区别于普通类,它不仅可以通过类的实例来调用,还可以通过类来访问他们,比如 Game::getGame(); 使用类调用的时候使用::,在当前类调用还可以使用self关键字,比如 self::getGame(); 静态方法是以类为作用域,不能访问类中的普通属性,因为他们属于一个对象,但可以访问静态属性。不知道你明白了没有

热点内容
聚合脚本平台 发布:2024-09-20 17:51:55 浏览:180
访问拦截怎么解除安卓 发布:2024-09-20 17:28:48 浏览:275
萝卜干存储 发布:2024-09-20 17:21:37 浏览:715
苹果手机如何迁移软件到安卓手机 发布:2024-09-20 17:21:34 浏览:692
查看服务器ip限制 发布:2024-09-20 16:56:27 浏览:389
p搜系统只缓存1页为什么 发布:2024-09-20 16:48:51 浏览:839
上网的账号和密码是什么东西 发布:2024-09-20 16:31:31 浏览:612
安卓手机王者荣耀如何调超高视距 发布:2024-09-20 16:31:30 浏览:428
安卓G是什么app 发布:2024-09-20 16:23:09 浏览:81
iphone怎么压缩文件 发布:2024-09-20 16:08:18 浏览:356