Arkadaşlar merhaba bir sorum olacak.
2 Adet fonksiyonum var 1. fonksiyonum yani a fonksiyonu içerisinde veritabanı bağlantısı var.
2.Fonksiyonum'da ise yani b fonksiyonum'da başka bir kodlama var.
Haliyle 2.fonksiyon içerisinde 1.fonksiyon'daki veritabanı bağlantısını kullanıp verilere erişemiyorum.
2 fonksiyonu birbirine nasıl birleştirebilirim ? veya bağlayabilirim.
Bunlar 1 class'ın içerisinde bu arada.
global fonksiyonu ile hallettim teşekkürler arkadaşlar.
Fonksiyon birleştirmek hakkında
3
●313
- 05-05-2014, 17:19:11BR9 adlı üyeden alıntı: mesajı görüntüle
basit ve hızlı bir örnek yazdım, hatalar olabilir test edersiniz.
define('DB_KEY','__db_resource'); function db_resource() { if (isset($GLOBALS[DB_KEY]) && is_resource($GLOBALS[DB_KEY])) { return $GLOBALS[DB_KEY]; } $GLOBALS[DB_KEY] = mysql_connect('localhost', 'user', 'pass'); if(!$GLOBALS[DB_KEY]) exit(mysql_error()); if(!mysql_select_db('dbName',$GLOBALS[DB_KEY])) exit(mysql_error()); return $GLOBALS[DB_KEY]; } function db_disconnect() { if (isset($GLOBALS[DB_KEY]) && is_resource($GLOBALS[DB_KEY])) { mysql_close($GLOBALS[DB_KEY]); $GLOBALS[DB_KEY] = NULL; } } register_shutdown_function('db_disconnect');istediğiniz fonksiyon ve class methodu içerisinde
mysql_query('SELECT bla bla bla',db_resource())global yerine kullanabilirsiniz.
art arda
$link = db_resource();
$link = db_resource();
$link = db_resource();
yazsanız dahi ilkinde bağlantı açılacak diğer çağrılarda mevcut bağlantıyı döndürecektir. veritabanı bağlantısı kullanmadığınız sayfalarda db_resource fonksiyonunu çalıştırmadığınız için boş yere bağlantı açmamış olursunuz ve php betiği sonladığında otomatik olarak veritabanı bağlantınız varsa kapatılacaktır. - 05-05-2014, 17:28:28Üyeliği durduruldu
function bir () { function iki(){ echo "Çalıştı"; { } - 06-05-2014, 00:59:44bunlar bir class'ın içersinde demişsiniz yanlış okumadıysam;BR9 adlı üyeden alıntı: mesajı görüntüle
dolayısıyla şöyle bir kodlama olması gerekiyor.
class ClassName{ function Function1(){ bla bla bla... } function Function2(){ bla bla bla... } }örnek üsteki gibi bir class oluşturdum.
fonksiyon1 de bir bağlantı koduna ulaşmak istiyorsun sanırım.
onuda $this->degisken ile halledebilirsin.
class ClassName{ private $degisken; //private, public,static artık ne lazımsa ona göre kullan function Function1(){ bla bla bla... $this->degisken = $ulasmakistediginbaglantiburadaolsun; } function Function2(){ bla bla bla... return $this->degisken; } }$oop = new ClassName();
$oop->Function1();
print_r($oop->Function2());
şeklinde kullanırsan Function1 de atadığun $ulasmakistediginbaglantiburadaolsun kısmını ekrana yazdırırsın.