maysamscript
یک شنبه 01 اردیبهشت 1387, 13:19 عصر
سلام
می خواستم بدونم اصولاً در برنامه نویسی با php چه استانداردهایی باید رعایت بشند که در نهایت برنامه ساخته شده با همه ورژن های PHP سازگار باشه.
مثلاً من برنامه ای با PHP نوشتم که وقتی اونو تو لوکال با WAMP5 Version 1.7.3 و PHP 5.2.4 اجرا میکنم هیچ مشکلی نداره ولی تو هاست که ورژن php اون 5.2.5 هست اروری میده که من اونو تو تاپیک قبلیم (http://barnamenevis.org/forum/showthread.php?t=102267) مطرح کردم ولی هنوز نتونستم مشکل اونو حل کنم.
در این زمینه phpnuke یه کارایی میکنه. مثلاً کد زیر رو ببینید.
// Get php version
$phpver = phpversion();
// convert superglobals if php is lower then 4.1.0
if ($phpver < '4.1.0') {
$_GET = $HTTP_GET_VARS;
$_POST = $HTTP_POST_VARS;
$_SERVER = $HTTP_SERVER_VARS;
$_FILES = $HTTP_POST_FILES;
$_ENV = $HTTP_ENV_VARS;
if($_SERVER['REQUEST_METHOD'] == "POST") {
$_REQUEST = $_POST;
} elseif($_SERVER['REQUEST_METHOD'] == "GET") {
$_REQUEST = $_GET;
}
if(isset($HTTP_COOKIE_VARS)) {
$_COOKIE = $HTTP_COOKIE_VARS;
}
if(isset($HTTP_SESSION_VARS)) {
$_SESSION = $HTTP_SESSION_VARS;
}
}
// override old superglobals if php is higher then 4.1.0
if($phpver >= '4.1.0') {
$HTTP_GET_VARS = $_GET;
$HTTP_POST_VARS = $_POST;
$HTTP_SERVER_VARS = $_SERVER;
$HTTP_POST_FILES = $_FILES;
$HTTP_ENV_VARS = $_ENV;
$PHP_SELF = $_SERVER['PHP_SELF'];
if(isset($_SESSION)) {
$HTTP_SESSION_VARS = $_SESSION;
}
if(isset($_COOKIE)) {
$HTTP_COOKIE_VARS= $_COOKIE;
}
}
حالا هیچکه هست که این موضوع رو بدونه و در مورد اون توضیح بده.:متفکر:
می خواستم بدونم اصولاً در برنامه نویسی با php چه استانداردهایی باید رعایت بشند که در نهایت برنامه ساخته شده با همه ورژن های PHP سازگار باشه.
مثلاً من برنامه ای با PHP نوشتم که وقتی اونو تو لوکال با WAMP5 Version 1.7.3 و PHP 5.2.4 اجرا میکنم هیچ مشکلی نداره ولی تو هاست که ورژن php اون 5.2.5 هست اروری میده که من اونو تو تاپیک قبلیم (http://barnamenevis.org/forum/showthread.php?t=102267) مطرح کردم ولی هنوز نتونستم مشکل اونو حل کنم.
در این زمینه phpnuke یه کارایی میکنه. مثلاً کد زیر رو ببینید.
// Get php version
$phpver = phpversion();
// convert superglobals if php is lower then 4.1.0
if ($phpver < '4.1.0') {
$_GET = $HTTP_GET_VARS;
$_POST = $HTTP_POST_VARS;
$_SERVER = $HTTP_SERVER_VARS;
$_FILES = $HTTP_POST_FILES;
$_ENV = $HTTP_ENV_VARS;
if($_SERVER['REQUEST_METHOD'] == "POST") {
$_REQUEST = $_POST;
} elseif($_SERVER['REQUEST_METHOD'] == "GET") {
$_REQUEST = $_GET;
}
if(isset($HTTP_COOKIE_VARS)) {
$_COOKIE = $HTTP_COOKIE_VARS;
}
if(isset($HTTP_SESSION_VARS)) {
$_SESSION = $HTTP_SESSION_VARS;
}
}
// override old superglobals if php is higher then 4.1.0
if($phpver >= '4.1.0') {
$HTTP_GET_VARS = $_GET;
$HTTP_POST_VARS = $_POST;
$HTTP_SERVER_VARS = $_SERVER;
$HTTP_POST_FILES = $_FILES;
$HTTP_ENV_VARS = $_ENV;
$PHP_SELF = $_SERVER['PHP_SELF'];
if(isset($_SESSION)) {
$HTTP_SESSION_VARS = $_SESSION;
}
if(isset($_COOKIE)) {
$HTTP_COOKIE_VARS= $_COOKIE;
}
}
حالا هیچکه هست که این موضوع رو بدونه و در مورد اون توضیح بده.:متفکر: