[英]PHP: Passing Objects with methods between pages
關於在頁面之間傳遞PHP類對象的現有問題很多,主要是通過序列化,壓縮等方式進行。但是,對象的方法無法傳遞。
我有一堂課說:
class Car
{
public function BrakeStatus()
{
//Fetch some sql data and return status of brakes
}
}
在頁面“ page1.php”中
<?php
$car = new Car;
$link = "<a href='page2.php?car=".$car."'>Click here</a>";
echo $link;
?>
在頁面“ page2.php”中
<?php
$car2=$_REQUEST('car');
$car2_brakes=$car2->BrakeStatus();
?>
有沒有辦法使這項工作?
因此,我只看到一種方法:Car.php:
<?php
class Car
{
public function BrakeStatus()
{
echo 'Test string!';
}
}
page1.php:
<?php
$carFilePath = 'Car.php';
require($carFilePath);
$car = new Car;
$carString = serialize($car);
$carImplementation = str_replace('<?php', '', file_get_contents('Car.php'));
$data = [
'carString' => $carString,
'carImplementation' => $carImplementation,
];
$JSONData = json_encode($data);
$link = "<a href='page2.php?car=".$JSONData."'>Click here</a>";
echo $link;
page2.php:
<?php
$carJSON=$_REQUEST('car');
$data = json_decode($carJSON);
eval($data->carImplementation);
$car = unserialize($data->carString);
$car->BrakeStatus();
但是,如果您需要這樣做,則會遇到體系結構問題。 請閱讀Grady Booch( https://en.wikipedia.org/wiki/Grady_Booch )的“面向對象的分析和應用程序設計”。 這與面向對象編程(隱藏實現)的概念相反。
因此,仿佛您真的在想突然應用它,請加密$ JSONData異步密鑰!!!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.