class
3 отговора
195 прегледа
class
//php 4.3.11
a.php:
<?php
session_start();
class class1 {
var $a;
function class1($data) {
$this->a = $data;
}
}
$_SESSION['a'] = new class1(5);
?>
b.php:
<?php
session_start();
var_dump($_SESSION['a']);
echo "
";
var_dump($_SESSION['a']->a);
?>
Резултат:
object(__PHP_Incomplete_Class)(13) { ["__PHP_Incomplete_Class_Name"]=> string(6) "class1" ["a"]=> int(5))
NULL
Прочетох, че това било проблем със сериализацията в РНР 4
Въпроса ми е как мога да заобиколя проблема, без да отивам на РНР 5?
Да взема да си ида... или да ида да си взема?!?
a.php:
<?php
session_start();
class class1 {
var $a;
function class1($data) {
$this->a = $data;
}
}
$_SESSION['a'] = new class1(5);
?>
b.php:
<?php
session_start();
var_dump($_SESSION['a']);
echo "
";
var_dump($_SESSION['a']->a);
?>
Резултат:
object(__PHP_Incomplete_Class)(13) { ["__PHP_Incomplete_Class_Name"]=> string(6) "class1" ["a"]=> int(5))
NULL
Прочетох, че това било проблем със сериализацията в РНР 4
Въпроса ми е как мога да заобиколя проблема, без да отивам на РНР 5?
Да взема да си ида... или да ида да си взема?!?
Re: class
class.php
<?php
class class1 {
var $a;
function class1($data) {
$this->a = $data;
}
}
?>
a.php
<?php
require_once('class.php');
session_start();
$_SESSION['a'] = new class1(5);
echo '<a href="b.php">b</a>';
?>
b.php
<?php
require_once('class.php');
session_start();
echo '<pre>';
var_dump($_SESSION['a']);
var_dump($_SESSION['a']->a);
?>
<?php
class class1 {
var $a;
function class1($data) {
$this->a = $data;
}
}
?>
a.php
<?php
require_once('class.php');
session_start();
$_SESSION['a'] = new class1(5);
echo '<a href="b.php">b</a>';
?>
b.php
<?php
require_once('class.php');
session_start();
echo '<pre>';
var_dump($_SESSION['a']);
var_dump($_SESSION['a']->a);
?>
Re: class
Проблема ти е че php енжина не може да намери
дефиницията на класа. Затова:
1. Направи си файл, със дефиницията на класа кръсти го class1.php
например.
2. Инклудвай този файл всеки път преди session_start().
Съответно:
Съветът ми е да минеш на PHP5, обаче.
Edit: Докато съм писал ПХП Шматка ме е изпреварил ..
От неизбежното се възмущава само този, който е неразумен.
дефиницията на класа. Затова:
1. Направи си файл, със дефиницията на класа кръсти го class1.php
например.
<?
////////////////////////////////////
// class1.php
////////////////////////////////////
class class1 {
var $a;
function class1($data) {
$this->a = $data;
}
}
?>
2. Инклудвай този файл всеки път преди session_start().
<?
////////////////////////////////////
// a.php
////////////////////////////////////
require_once('class1.php');
session_start();
$_SESSION['a'] = new class1(5);
?>
Съответно:
<?
////////////////////////////////////
// b.php
////////////////////////////////////
require_once('class1.php');
session_start();
var_dump($_SESSION['a']);
echo " ";
var_dump($_SESSION['a']->a);
?>
Съветът ми е да минеш на PHP5, обаче.
Edit: Докато съм писал ПХП Шматка ме е изпреварил ..
От неизбежното се възмущава само този, който е неразумен.
Редактирано от Учeщ на
Re: class
Благодаря
класа ми си е в отделен файл, но за по-прегледно го написах така и съм ви заблудил
сега само преместих инклудето след сессион_start и стана
Да взема да си ида... или да ида да си взема?!?
класа ми си е в отделен файл, но за по-прегледно го написах така и съм ви заблудил
сега само преместих инклудето след сессион_start и стана
Да взема да си ида... или да ида да си взема?!?