php魔术变量,php 变量

本文目录一览:

stat failed for 怎么回事

你的错误都是由于第一个错误引起的,所以后面可以先忽略。

这个错误产生的原因就是你的PHP找不到mode.htm这个文件的位置,你可以为该文件增加路径描述解决这个问题。

当前的文件在PHP中可以用魔术变量__FILE__表示,因此,你的当前目录为dirname(__FILE__)

怎么样在php配置中加载魔术常量

PHP中,有不少很好用的魔术变量,用好之,能事半功倍,下面小结之: 

1 _LINE_ 

  显示当前代码的行数: 

  echo “This is line number : “. __LINE__; 

2 _FILE_ 

   显示当前文件的路径 

3 _METHOD_ 

   显示当前方法的名,比如 

   class Magicconstant 

    function __construct() 

    { 

      echo “This is function a”; 

    } 

    function b() 

   {

     echo “br/”; 

     echo “This is function b”; 

     echo “br/”; 

     echo __METHOD__; 

   } 

$cm = new Magicconstant(); 

$cm-b(); 

显示 

   This is function a 

  This is function b 

  Magicconstant::b 

4 _FUNCTION_ 

   显示当前所在函数的名 

  function b() 

  { 

  echo “br/”; 

echo “This is function b”; 

echo “br/”; 

echo __FUNCTION__; 

  } 

输出: 

   This is function b 

Magicconstant::b 

5 _DIR_ 

   显示当前目录名,如 

  echo “The directory name is : “. __DIR__; 

输出: 

  The directory name is : D:\wamp\www 

6 _CLASS_ 

   显示当前的类 

class Magicconstant 

function __construct() 

echo “The class name is : “.__CLASS__; 

$cm = new Magicconstant(); 

  显示: 

  The class name is : Magicconstant 

7 _NAMESPACE_ 

   显示当前命名空间 

namespace MagicConstant 

   echo “The namespace is : “.__NAMESPACE__; 

输出: 

  The namespace is : MagicConstant 

8 _sleep_ 

  _sleep_用在将类序列化之前, 

?php 

class User 

public $userName = ”; 

public $userAddress = ”; 

public $userPhone = ”; 

public function setName($name=”) 

$this-userName = $name; 

function setAddress($address=”) 

$this-userAddress = $address; 

function setPhone($phone=”) 

$this-userPhone = $phone; 

function __sleep() 

return array(‘userAddress’,’userPhone’); 

                        // This will serialize only address and Phone number but not Name 

?php 

$User = new User(); 

$User-setName(‘Avinash’); 

$User-setAddress(‘Address Here’); 

$User-setPhone(‘1234567890’); 

$serialData = serialize($User); 

echo $serialData; 

OutPut: O:4:”User”:2:{s:11:”userAddress”;s:12:”Address Here”;s:9:”userPhone”;s:10:”1234567890″;} 

程序运行时, serialize() 检查类中是否有 __sleep() ,如果有,则该函数将在任何序列化之前运行. 该函数必须返回一个需要进行序列化保存的成员属性数组,并且只序列化该函数返回的这些成员属性. 该函数有两个作用: 第一. 在序列化之前,关闭对象可能具有的任何数据库连接等. 第二. 指定对象中需要被序列化的成员属性,如果某个属性比较大而不需要储存下来,可以不把它写进__sleep()要返回的数组中,这样该属性就不会被序列化 

又如: 

class Test { 

public $mySecret; //我的秘密不想让人知道 

public function __construct($secret) { 

$this-mySecret = $secret; 

public function __sleep() { 

$this-mySecret = “你休想知道我的秘密!”; 

return array(‘mySecret’); //一定要返回变量,不然返回的是个空,所以序列化也就没有东西了。 

$test = new Test(“我的心里话 我爱某某某”); 

echo serialize($test); //输出 O:4:”Test”:1:{s:8:”mySecret”;s:28:”你休想知道我的秘密!”;} 

_wakeup_ 

用在反序列化时: 

?php 

class User 

public $userName = ”; 

public $userAddress = ”; 

public $userPhone = ”; 

public function setName($name=”) 

$this-userName = $name; 

function setAddress($address=”) 

$this-userAddress = $address; 

function setPhone($phone=”) 

$this-userPhone = $phone; 

function __sleep() 

return array(‘userAddress’,’userPhone’); 

                       // This will serialize only address and Phone number but not Name 

function __wakeup() 

echo “In Wakeup function”.”br/”; 

?php 

$User = new User(); 

$User-setName(‘Avinash’); 

$User-setAddress(‘Address Here’); 

$User-setPhone(‘1234567890’); 

$serialData = serialize($User); 

echo $serialData; 

echo “br/”; 

var_dump(unserialize($serialData)); 

Output: 

In Wakeup function 

object(User)#2 (3) { 

  [“userName”]= 

  string(0) “” 

  [“userAddress”]= 

  string(12) “Address Here” 

  [“userPhone”]= 

  string(10) “1234567890” 

//以上信息转自 不代表个人观点 仅供参考 若满意 请采纳本答案

php 打印当前执行到的行数–为方便调试

echo ‘__LINE__’;魔术变量之__LINE__记录了当前执行的代码所在行的行号。

PHP有不少能够用来直接调试的函数,查看变量、对象、数组、Everything……

下面是魔术变量

__LINE__ 文件中的当前行号。

__FILE__ 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。

__DIR__ 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠。(PHP 5.3.0中新增) =

__FUNCTION__ 函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。

__CLASS__ 类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。

__METHOD__ 类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。

__NAMESPACE__ 当前命名空间的名称(大小写敏感)。这个常量是在编译时定义的(PHP 5.3.0 新增)

php中的_LINE_与_FILE_分别代表什么意思

这两个常量。分别是当前文件的行数和文件名(含路径)。。

写在哪个 PHP 文件里。就只对这个文件有效。。不管有没有被别的程序 include 。。

例如:

//a.php

echo __FILE__;

//b.php

include(“a.php”);

运行 b.php 结果还是 a.php。因为 __FILE__ 写在那里,而不是在 b.php 里。

PHP中魔术变量__METHOD__与__FUNCTION__的区别

本文实例讲述了PHP中魔术变量__METHOD__与__FUNCTION__的区别,分享给大家供大家参考。具体分析如下:

__METHOD__类的方法名(PHP

5.0.0

新加)。返回该方法被定义时的名字(区分大小写)。

__FUNCTION__函数名称(PHP

4.3.0

新加)。自

PHP

5

起本常量返回该函数被定义时的名字(区分大小写)。在

PHP

4

中该值总是小写字母的。

文档解释都是说返回函数(方法)的名字。区别在于:

__FUNCTION__只是返回方法的名字;

__METHOD__返回类的名字和方法的名字。

?php

class

Test{

public

function

doit(){

echo

__FUNCTION__;

}

public

function

doitAgain(){

echo

__METHOD__;

}

}

$obj

=

new

Test();

$obj-doit();

echo

‘br’;

$obj-doitAgain();

?

输出结果为:

doit

Test::doitAgain

希望本文所述对大家的PHP程序设计有所帮助。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/196107.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-03 09:53
下一篇 2024-12-03 09:53

相关推荐

  • int类型变量的细节与注意事项

    本文将从 int 类型变量的定义、声明、初始化、范围、运算和类型转换等方面,对 int 类型变量进行详细阐述和讲解,帮助读者更好地掌握和应用 int 变量。 一、定义与声明 int…

    编程 2025-04-29
  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Python input参数变量用法介绍

    本文将从多个方面对Python input括号里参数变量进行阐述与详解,并提供相应的代码示例。 一、基本介绍 Python input()函数用于获取用户输入。当程序运行到inpu…

    编程 2025-04-29
  • Python匿名变量的使用方法

    Python中的匿名变量是指使用“_”来代替变量名的特殊变量。这篇文章将从多个方面介绍匿名变量的使用方法。 一、作为占位符 匿名变量通常用作占位符,用于代替一个不需要使用的变量。例…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • Python变量在内存中的存储

    该文章将从多个方面对Python变量在内存中的存储进行详细阐述,包括变量的声明和赋值、变量的引用和指向、内存地址的变化、内存管理机制等。 一、声明和赋值 在Python中,变量声明…

    编程 2025-04-29
  • Python变量类型用法介绍

    Python是一种解释型编程语言,它提供了丰富的数据类型,包括数字、字符串、列表、元组、集合、字典等。Python变量类型的定义是Python程序开发的基础,本文将从以下几个方面对…

    编程 2025-04-28
  • Python print输出变量

    Python是一种脚本语言,语法简单易懂,目前被广泛应用于数据处理、人工智能、web开发、游戏开发等领域。其中print函数是Python中最常用的函数之一,用于将变量输出到控制台…

    编程 2025-04-28
  • Python定义变量

    Python是一门高级编程语言,变量是Python编程中非常重要的一个概念。Python的变量定义方式非常简单,可以在程序中随时定义一个变量来存储数据,这方便了整个程序的逻辑编写,…

    编程 2025-04-28
  • Python中如何定义一个变量

    Python是一种高级编程语言,使用它您可以轻松地定义和操作变量。Python中的变量属于动态类型变量,因此不需要在定义变量时指定其类型,而是在变量分配之前自动确定变量的数据类型。…

    编程 2025-04-28

发表回复

登录后才能评论