问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php 静态方法 是什么意思?

发布网友 发布时间:2022-04-24 13:54

我来回答

5个回答

懂视网 时间:2022-04-06 03:40

php实现静态化的方法:1、改写访问地址,能够通过URL的PATHINFO模式来改动它;2、站点能够在用户访问站点之前就通过一定的程序来进行静态化。

php实现静态化的方法:

PHP站点开发过程中,因为搜索引擎对PHP页面搜鹿和html页面的收录有一定的区别,为了站点的推广或者SEO的须要,要对站点进行一定的静态化。静态化并非页面中没有动画等元素,而是指网页的html代码都在页面中,不须要再去执行PHP脚本等server端的语言,我们能够直接訪问到的网页。这就是静态网页。

有一种方式是改写訪问地址,能够通过URL的PATHINFO模式来改动它。让它看上去更像一个静态页面。从而有更大的几率被搜索引擎抓取和收录,仅是对搜索引擎比較友好,伪静态化。

第二种就是站点能够在用户訪问站点之前就通过一定的程序来进行静态化。生成静态页面。当用户去訪问该页面的时候。因为訪问的是静态页面,因此,訪问速度会比訪问动态页面的速度快了非常多倍,前台的表现是页面载入速度变快,在后台的表现是降低了数据库的连接。降低了数据库的压力,唯一的缺点就是相对占的硬盘多一些,硬盘相对便宜的多。

纯静态化,就是生成HTML文件的方式,我们须要开启PHP自带的缓存机制,即ob_start来开启缓存。而且在ob_start之前不能有不论什么输出,否则运行失败,然后我们用ob_get_contents函数来获取缓存中的内容,该函数会返回一个字符串。第三个函数就是ob_end_clean,它用来清空缓存中的内容而且关闭,成功返回True,失败返回False。

<?php
//开启缓存
ob_start();
//第一步连接数据库
$conn = mysqli_connect("localhost","root","","bbs");
//第二步设置对应的字符编码
$setting = 'set names utf8';
mysqli_query($conn,$setting);
//第三步进行查询
$sql = 'SELECT * FROM user';
$result = mysqli_query($conn,$sql);
//第四步把查询结果转化为一个数组
$rows = mysqli_num_rows($result);
$sqldata = array();
for($i = 0;$i <$rows;$i ++){
 $sqldata[] = mysqli_fetch_assoc($result);
}
//然后打印该信息
var_dump($sqldata);
//得到生成的html文件,下次訪问就无需訪问数据库了
$msg = ob_get_contents();
ob_end_clean();
//把输出内容放入一个html文件里
$f = fopen("static.html","w");
fwrite($f,$msg);
echo "静态化成功";

目录下生成一个html文件

<pre class='xdebug-var-dump' dir='ltr'>
<b>array</b> <i>(size=6)</i>
 0 <font color='#888a85'>=></font> 
 <b>array</b> <i>(size=4)</i>
 'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'1'</font> <i>(length=1)</i>
 'level' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'0'</font> <i>(length=1)</i>
 'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'辛星'</font> <i>(length=6)</i>
 'pwd' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'bd04fcc97578ce33ca5fb331f42bc375'</font> <i>(length=32)</i>
 1 <font color='#888a85'>=></font> 
 <b>array</b> <i>(size=4)</i>
 'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'2'</font> <i>(length=1)</i>
 'level' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'1'</font> <i>(length=1)</i>
 'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'小倩'</font> <i>(length=6)</i>
 'pwd' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'61cb72858be523b9926ecc3d7da5d0c6'</font> <i>(length=32)</i>
 2 <font color='#888a85'>=></font> 
 <b>array</b> <i>(size=4)</i>
 'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'3'</font> <i>(length=1)</i>
 'level' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'1'</font> <i>(length=1)</i>
 'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'小楠'</font> <i>(length=6)</i>
 'pwd' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'a3d2de7675556553a5f08e4c88d2c228'</font> <i>(length=32)</i>
 3 <font color='#888a85'>=></font> 
 <b>array</b> <i>(size=4)</i>
 'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'4'</font> <i>(length=1)</i>
 'level' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'1'</font> <i>(length=1)</i>
 'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'刘强'</font> <i>(length=6)</i>
 'pwd' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'fcdb06a72af0516502e5fdccc9181ee0'</font> <i>(length=32)</i>
 4 <font color='#888a85'>=></font> 
 <b>array</b> <i>(size=4)</i>
 'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'5'</font> <i>(length=1)</i>
 'level' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'1'</font> <i>(length=1)</i>
 'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'星哥'</font> <i>(length=6)</i>
 'pwd' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'866a6cafcf74ab3c2612a85626f1c706'</font> <i>(length=32)</i>
 5 <font color='#888a85'>=></font> 
 <b>array</b> <i>(size=4)</i>
 'id' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'6'</font> <i>(length=1)</i>
 'level' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'1'</font> <i>(length=1)</i>
 'name' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'辛勇'</font> <i>(length=6)</i>
 'pwd' <font color='#888a85'>=></font> <small>string</small> <font color='#cc0000'>'e93beb7663f3320eaa0157730d02dd0c'</font> <i>(length=32)</i>
</pre>

相关学习推荐:php编程(视频)

热心网友 时间:2022-04-06 00:48

php静态有伪静态跟单纯静态,伪静态就是在浏览器地址栏上显示一个静态的地址(例如:本来页面是index.php的,通过伪静态方法在地址栏上显示变成index.html),伪静态不是真的生成一个静态文件,此种方法是为了搜索引擎更好的收录。单纯静态就是生成一个单独的html文件,(例如,index.php在伪静态下是不生成index.html文件,但是在纯静态下它是会生成一个index.html文件)。这种方法就是你有多少条新闻,就会生成多少个html新闻页。此种方法一是为了搜索引擎的更好收录,二是可以减轻服务器的压力。
打了那么多,希望你看了能明白,顺便给采纳下吧

热心网友 时间:2022-04-06 02:06

<?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关键字时,可以!但不支持这种写法)
对象》访问》静态方法(类的方法)->可以
对象》访问》普通方法(对象的方法)->可以
*/
?>

热心网友 时间:2022-04-06 03:41

声明类成员或方法为static,就可以不实例化类而直接访问。不能通过一个对象来访问其中的静态成员

由于静态方法不需要通过对象即可调用,所以伪变量$this在静态方法中不可用

 class A{
  public static $a;

  public static function a(){
      //可以使用self调用静态变量。
      //不能使用伪对象$this->a访问
      self::$a
  
  }
 
 
 
 }
 //不需要实例化直接调用
A::a();

追问静态类有什么好处?我看TP之类的框架好多地方都用静态类。

追答速度快~效率高~ 直接加载到内存·

普通方法 你的方法调用需要先实例化类 然后 这部操作会在 内存中 另开辟空间 来存放

热心网友 时间:2022-04-06 05:32

public static A(){
//静态方法里只能调用静态变量!!!
}
求采纳啊!!!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 长得像椰子的水果,里面像果冻的是什么水果 简述php的静动态模式? 施工日志软件破解版? 我想问下有没得同行知道什么app做按揭房贷款的5-50万的平台 国内做房产按揭的互联网平台都有哪些? 有按揭房 可以做什么银行贷款 利息低的 有没有施工日志自动生成的软件?之前看过道好施工日志软件可以按照模板导入导出Word&#47;Excel。 按揭的房子可以做抵押贷款么?需要什么手续啊? 淘宝怎么添加客服啊,客服又是怎么登陆的啊 施工日志允许电脑打印吗?请提供依据 求高手指导 品茗软件中 施工日志怎么弄 最好有图 有按揭房能做什么贷款 怎样把筑业软件的施工日志发送到微信? 按揭房可以做抵押贷款吗 只有按揭房子,其他什么都没有,能做什么贷款 html中 href=&quot;findGift?id=${g.id}&quot; ,&quot;&quot;里是什么意思啊 不是写.html然后跳转吗 ? 我用innerHTML得到的内容,想要修改其中的一小段,怎么写啊? 我下了一个游戏,却是html格式的,1.3G大....怎么办? HTML中return &quot;rgb(&quot;+r&quot;,&quot;+g+&quot;,&quot;+b&quot;)&quot;;这句话哪里有错 各位大神,为什么我用cgi备份还原了系统 这是印尼什么水果??外表很像椰子.大小也跟椰子一样大 PHP静态方法和非静态方法的区别 有没有类似椰子的水果 php如何实现网页静态 php 使用静态方法的几个注意事项说明 越南人都扔掉的一种水果,中国人怎么这么爱吃? PHP中的静态类是怎么实现的啊? 和椰子有点像的,这是什么 php的静态变量究竟有什么作用? 在越南有种水果,当地人基本没人吃,却是中国游客的最爱!你知道是什么水果吗? php静态属性跟常量有什么区别啊 php什么是静态变量 请问这种坚果叫什么名字,个头和栗子差不多大,外壳很厚,果实是空心的,吃起来味道很像椰子,是不是椰子 谁知道PHP中静态变量是什么意思?急! 一种长得很黑的和椰子差不多大小的水果叫什么名字? php中静态成员如何使用? 一种很像椰子的水果,体积较小,差不多像一个大一点橘子。光滑*,壳也很硬。 PHP 如何实现静态化 一种水果 它的树很像椰子树&#127796;外面是*的肉 里面是黑黑的像珍珠一样的水果 是什么 这个果叫什么名字?和椰子差不多,就像是椰子缩小版,虽然没有椰子水,但和椰子的口感味道差不多。(图一