PDA

View Full Version : سوال: استفاده از یک متغیر تابع در تابعی دیگر



amin7x
شنبه 28 بهمن 1391, 14:44 عصر
سلام

ببخشید من یک متغیر توی یک تابع تعریف کردم ، میخواستم بدونم چه طوری میشه اون رو توی یک تابع دیگه فراخوانی کرد؟

ممنون

navid3d_69
شنبه 28 بهمن 1391, 16:16 عصر
از global استفاده کن اینم نمونه کد ها

http://php.net/manual/en/language.variables.scope.php

amin7x
شنبه 28 بهمن 1391, 17:43 عصر
Global مگه برای فراخوانی متغیر خارج تابع به درون تابع نیست؟
به هر حال این روش هم عمل نکرد.

این کد های منه :



function DataBaseConnect(){

global $dbhost;
global $dbusername;
global $dbpassword;
global $dbname;

$connect=mysql_connect($dbhost,$dbusername,$dbpass word) or die("Connect Fild");
mysql_select_db($dbname,$connect);
}

function SelectDB(){

$select="select * from posts ORDER BY id DESC";
$query=mysql_query($select,$connect);
}


اون مقداری رو که به متغیر $connect دادم میخوام توی فاکشن SelectDB فراخوانی بشه باید چه کار کنم؟

navid3d_69
شنبه 28 بهمن 1391, 17:48 عصر
شما یک کلاس درست کنید خیلی راحت تر هستین و اون متغیر هارو در کلاس private تعریف کنید و در کل کلاس استفاده کنید راحت تر هم هست

amin7x
شنبه 28 بهمن 1391, 19:57 عصر
شما یک کلاس درست کنید خیلی راحت تر هستین و اون متغیر هارو در کلاس private تعریف کنید و در کل کلاس استفاده کنید راحت تر هم هست

من به مباحث OOP آشنایی ندارم.

میشه یک مثال به صورت OOP برای من بزنید؟ ، شاید این استارتی شد که من شروع کنم به یادگیری OOP چون همیشه دنبال جوابی بودم که OOP به چه درد میخوره وقتی function هست.

navid3d_69
شنبه 28 بهمن 1391, 22:03 عصر
این یک نمونه کوچیک 2 تا آخر برای اجرا هست.





class Database{


private $connect;


public function __construct($host,$user,$pass,$dbname){

$this->connect = mysql_connect($host,$user,$pass);
mysql_select_db($dbname,$this->connect);


}

public function SelectDB(){

$select="select * from posts ORDER BY id DESC";
$query=mysql_query($select,$this->connect);
}


}


$db = new Database('localhost','user','pass','dbname');

$db->SelectDB();

rezaonline.net
شنبه 28 بهمن 1391, 22:31 عصر
function DataBaseConnect(){

global $dbhost;
global $dbusername;
global $dbpassword;
global $dbname;
global $__connect;

$__connect=mysql_connect($dbhost,$dbusername,$dbpa ss word) or die("Connect Fild");
mysql_select_db($dbname,$connect);
}

function SelectDB(){

$select="select * from posts ORDER BY id DESC";
$query=mysql_query($select,$GLOBAL['__connect']);
}