发布网友 发布时间:2024-09-30 23:17
共1个回答
热心网友 时间:2024-10-15 09:37
php类的引用如果用的是laravel(其他的framework可以参考类似操作):
一般有一个routes.php用于定义URI路径,比如:
Route::get('/cs.php/T/{admin}',?"MyController@testFunc");
这样就把你说的URI定向到MyController.php文件的testFunc函数。请这样定义testFunc:
?php
//?MyController.php
namespace?App\Http\Controllers;
class?MyController?extends?Controller
{
????public?function?testFunc($admin,?Request?$request)
????{
????????//?这里你就直接可以使用$admin的值了。
????}
}
php中对象是引用类型吗$a?=?10;
$b?=?$a;
$b?=?20;
var_mp($a,$b);
在这段极其简单的代码中,$b是$a的引用,也即是别名,修改$b,$a会变,反之亦然。这就是所谓的引用,那对象是不是也是这样的呢?
class?A
{
public?$num?=?10;
}
$a?=?new?A();
$a-num?=?20;
function?demo($b)
{
$b[0]?=?5;
var_mp($b);
}
demo($a)
var_mp($a);
你会发现两次输出一样,那这是不是说明对象做函数参数时是引用传参呢?在这一点上不得不说千锋的学生的确是勤学好问,我刚开始以为是引用传参,但同学提出如果你把demo里修改为:
function?demo($b)
{
$b?=?new?A();
var_mp($b);
}
两次输出并不一样!这是为什么呢?如果从c语言角度讲,php里的任何变量,包括对象都是指针,对象做参数相当于二重指针,所以当$b指向一个全新的对象后,并不影响$obj,所以对象做函数参数并不是引用传参!
之前看到的内容希望对你有帮助
PHP如何在一个类中引用另一个类中的变量.
可能你理解上有问题。不太明白你的意思,所以我分开解释。如果是在定义的时候就引用,下面两种。1.两个都是类,即类的静态变量(static修饰),一个类自然可以引用静态变量,因为静态变量是在程序进入main函数前就已经初始化完了。2.一个类A一个实例B(A类产生的对象),A当然无法在类的内部引用(即定义中),因为实例是在程序中动态分配的内存,类A必然先于实例B存在,所以A并不能知道B的存在。B可以引用类A的静态变量,理由同1。如果是在运行时才引用。你只要在类A里写一个函数,例如function(Bb),这样你要调用的时候通过这个函数做接口就行了,至于b你要做什么,就是你的事了。
PHP怎么调用其他类的方法在Java的调用方法是import,而在PHP中没有import这个函数,一般PHP中调用其他类是用到require(),具体PHP调用其他类的方法如下:
1、首先应该先有一个文件名为tool.php的文件,在文件中声明一个类。
2、然后需要有另一个文件名为main.php的文件,在文件中调用上面的类。方法如下。
扩展资料:
类是变量与作用于这些变量的函数的集合。使用下面的语法定义一个类:
?php
classCart{var$items;//购物车中的物品
//将$num个$artnr物品加入购物车
functionadd_item($artnr,$num){
$this-items[$artnr]+=$num;
}//将$num个$artnr物品从购物车中取出
functionremove_item($artnr,$num){
if($this-items[$artnr]$num){
$this-items[$artnr]-=$num;returntrue;
}elseif
($this-items[$artnr]==$num){
unset($this-items[$artnr]);returntrue;
}else{
returnfalse;}
}
}?
上面的例子定义了一个Cart类,这个类由购物车中的商品构成的数组和两个用于从购物车中添加和删除商品的函数组成。
参考资料来源:百度百科-php类