PHP Sınıfındaki Metot ve Değişkenler
phplivex
__constructor
( [
$functions
= array() ] )
void
Ajaxify
( array
$functions
)
void
AjaxifyAll
()
void
AjaxifyObjectMethods
( array
$methods
)
void
AjaxifyObjects
( array
$objects
)
static string
Decode
( string
$str
, string
$encoding
)
void
Run
( [ bool
$includeJS
], [ string
$filepath
] )
string
Encoding
= "UTF-8"
JavaScript Sınıfındaki Metot ve Değişkenler
void
ExternalRequest
(object
options
)
void
SubmitForm
(HTMLFormElement|id|name
form
, object
options
)
object
Options
HTMLDomElement|id
target
= null
string
target_attr
= "innerContent"
string
mode
= "rw"
HTMLDomElement|id
preloader
= null
string
preloader_style
= "visibility"
bool
clear_content
= false
string
content_type
= "text"
bool
eval_scripts
= true
int
interval
= null
object
params
= null
object
headers
= null
string
method
= "post"
string
type
= "asynchronous"
string
url
= ""
event
onCreate
= null
event
onUninitialized
= null
event
onLoading
= null
event
onRequest
= null
event
onInteraction
= null
event
onFinish
= null
event
onUpdate
= null
event
onFailure
= null
PHP Sınıfının Kullanımı
PHPLiveX
__constructor
( array
$functions
)
Nesneyi oluşturur ve isteğe bağlı olarak, belirtilen fonksiyonlar için "Ajaxify" metodunu uygular.
$ajax = new PHPLiveX(array("myFunction"))
array
$functions:
ajax ile kullanılacak fonksiyon isimleri
void
Ajaxify
( array
$functions
)
Belirtilen fonksiyonların ajax ile kullanılmasını sağlar. Yani, bu fonksiyonlar javascript kodu ile sayfa tekrar yüklenmeden çalıştırılabilir.
$ajax->Ajaxify(array("myFunction"))
JavaScript ile kullanımı: myfunction(arg1, arg2, ..., object options)
array
$functions:
ajax ile kullanılacak fonksiyon isimleri
void
AjaxifyAll
()
Sayfa üzerinde kullanıcı tarafından tanımlanmış tüm fonksiyonlar için "ajaxify" metodunu uygular.
$ajax->AjaxifyAll()
void
AjaxifyObjectMethods
( array
$methods
)
Belirtilen nesne metodları için "Ajaxify" metodunu uygular. PHP 'session' başlatılmış olmalıdır.
$myObject = new myClass()
$ajax->Ajaxify(array("myObject" => "myMethod", "myObject2" => "myMethod2", ...))
Veya $ajax->Ajaxify(array("myObject" => array("method1", "method2", ...)))
JavaScript ile kullanımı: myObject.myMethod(arg1, arg2, ..., object options)
array
$methods:
ajax ile kullanılacak metot ve nesnelerinin isimleri
void
AjaxifyObjects
( array
$objects
)
Belirtilen nesnelerin tüm metodları için "Ajaxify" metodunu uygular. PHP 'session' başlatılmış olmalıdır.
$myObject = new myClass()
$ajax->Ajaxify(array("myObject", "myObject2", ...))
JavaScript ile kullanımı: myObject.anyMethod(arg1, arg2, ..., object options)
array
$objects:
ajax ile kullanılacak nesne isimleri
static string
Decode
( string
$str
, string
$encoding
)
UTF-8 ile şifrelenmiş bir ifadeyi, istenilen karakter kümesi ile şifreler. ANSI karakter kümelerini kullananlar için çok önemlidir (örn: ISO-8859-9). PHP "json_decode" fonksiyonundaki bir karakter hatası sebebiyle "ö", "ş", "ç" gibi dile özgü karakterlerde ortaya çıkabilecek hataları engellemek için kullanılmalıdır. Yine de tam verim alabilmek için UTF-8 kullanılması önerilir.
$str = $ajax->Decode($str, "iso-8859-9")
string
$str:
şifrelenmesi istenen ifade
string
$encoding:
kullanılacak karakter kümesi
string
Encoding
= "UTF-8"
Ajax istemi ile elde edilen içeriğin karakter kümesi. Sayfanın karakter kümesi ile aynı olmalıdır.
$ajax->Encoding = "ISO-8859-9"
void
Run
( bool
$includeJS = true
, string
$filepath = "phplivex.js"
)
Ajax istemlerinin çalışmasını sağlayan javascript kodlarını oluşturur veya "phplivex.js" dosyasından içeriye alır. "AJAXIFY" metotlarının altında çağırılmalıdır.
$ajax->Run(true)
bool
$includeJS:
JS sınıfını, JS dosyası ile içeriye almak için TRUE, sayfada oluşturtmak için FALSE
string
$filepath:
JS sınıfının bulunduğu dosyanın yolu. Varsayılan yol "phplivex.js" olarak ayarlanmıştır.
JS Sınıfının Kullanımı
void
ExternalRequest
( object
options
)
url parametresi ile belirtilen sayfaya ajax istemi gönderir.
new PHPLiveX().ExternalRequest({"url": "target.php", params: [param1, param2]})
object
options:
ajax istemi ile kullanılması istenen parametreler
bool
SubmitForm
( HTMLFormElement|id|name
form
, [object
options]
)
Ajax istemi ile form göndermek için kullanılır. Eğer formun "action" değeri girilmemişse, url parametresi ile belirtilmelidir. AJAX ile dosya yükleme özelliği şu anda mevcut değildir.
new PHPLiveX().SubmitForm("myForm", {"method": "get", "target": "alert"})
HTMLFormElement|id|name
form
:
gönderilecek form
object
options:
ajax istemi ile kullanılması istenen parametreler
HTMLDomElement|id
target
= null
Ajax istemi ile alınan verilerin, belirtilen dom elemanının "target_attr" parametresi ile belirlenen özelliğine aktarılmasını sağlar.
<div id="testArea"></div>
<script type="text/javascript">myFunction({"target": "testArea"})</script>
string
target_attr
= "innerContent"
Eğer "target" parametresi ile bir dom elemanı belirtildiyse, o elemanın bu parametre ile belirlenen niteliği etkilenir. "innerContent" değeri,
innerHTML
ve
value
niteliklerini sembolize eder. Eğer hedef bir "HTMLInputElement" ise,
value
yerine geçer, aksi takdirde
innerHTML
...
<div id="testArea" style="background-color:#FFFFFF"></div>
<script type="text/javascript">
myFunction({"target": "testArea", "target_attr": "style.backgroundColor"})
</script>
string
mode
= "rw"
Eğer "target" parametresi kullanılıyorsa, "mode" yazdırma türünü belirler:
"rw"
: hedef dom elemanının belirlenen niteliğinin önceki değerini silerek, yenisini yazdırır
"aw"
: hedef dom elemanının belirlenen niteliğinin önceki değerininin sonuna yenisini ekler
"asw"
: hedef dom elemanının belirlenen niteliğinin önceki değerininin başına yenisini ekler
<div id="testArea"> burada herhangi birşey olabilir </div>
<script type="text/javascript">
myFunction({"target": "testArea", "mode": "aw"})
</script>
HTMLDomElement|id
preloader
= null
Önyükleme için kullanılacak dom elemanıdır. Belirtilen dom elemanı
visibility
ya da
display
niteliklerinden biri ile gizlenmiş olmalıdır. PHPLiveX, bu elemanı yükleme sırasında görünür yapıp, işlem bittiğinde tekrar gizler. Gizleme işlemi için kullanılacak nitelik (display, visibility), "preloader_style" parametresi ile belirlenebilir.
<div id="preloadDiv" style="visibility:hidden;">Loading...</div>
<script type="text/javascript">
myFunction({"target": "testArea", "preloader": "preloadDiv"})
</script>
HTMLDomElement|id
preloader_style
= "visibility"
Önyükleyicinin gizleme için kullanacağı niteliktir: "visibility" ve "display". İkisi arasında tek bir fark vardır.
visibility:hidden
ile gizlenen dom elemanı sayfada yer kaplayıp görünmezken,
display:none
kullanan eleman sayfada yer kaplamaz. Varsayılan değer
visibility
dir.
<div id="preloadDiv" style="display:none;">Yükleniyor...</div>
<script type="text/javascript">
myFunction({"preloader": "preloadDiv", "preloader_style": "display"})
</script>
bool
clear_content
= false
TRUE değerini aldığında, önyükleme sırasında "target" dom elemanının "target_attr" niteliğinin değerini boşaltır.
<div id="testArea"> örneğin burada bulunan yazılar önyükleme sırasında görünmeyecek </div>
<script type="text/javascript">
myFunction({"target": "testArea", "preloader": "preloadDiv", "clear_content": true})
</script>
string
content_type
= "text"
Ajax istemine alınan yanıtın içerik türüdür. "text" ve "json" değerlerini alabilir.
myFunction({"content_type": "json", onFinish: function(response){ //response bir json nesnesidir } })
bool
eval_scripts
= true
TRUE değeri ile, ajax istemine alınan yanıt javascript kodu içeriyorsa, bu kodlar otomatik olarak sayfaya eklenir ve çalıştırılır. Eğer bu betiklerin yoksayılması isteniyorsa FALSE değeri girilmelidir.
myFunction({"eval_scripts": false})
int
interval
= null
Fonksiyon bu parametre ile belirlenen aralıklarda tekrar tekrar çalıştırılır. Zaman aralığı milisaniye cinsinden olmalıdır.
myFunction({"target": "testArea", "interval": 10000})
object
params
= {}
"ExternalRequest" metoduyla birlikte kullanılabilir. "url" parametresi ile belirlenen sayfaya gönderilecek değişken ve değerleri girilir.
new PHPLiveX().ExternalRequest({"url": "test.php", "params": {"email": "blabla@gmail.com", "id": 350}})
object
headers
= {}
Ajax isteminin kullandığı varsayılan sayfa başlıklarına ilave yapılabilir. Aşağıdaki örnekte verilenler varsayılan başlıklardan ikisidir.
myFunction({"headers": {"pragma": "no-cache", "content-type": "application/text; charset=UTF-8"}})
string
method
= "POST"
Ajax isteminin kullandığı http metodudur. "post" ve "get" değerlerini alabilir.
myFunction({"method": "GET"})
string
type
= "asynchronous"
Ajax isteminin türüdür. Senkron ya da asenkron(varsayılan) olabilir. Senkron kullanımı pek tavsiye edilmez çünkü kullanışlı değildir. Tarayıcının kilitlenmesine ve aynı süreçte başka hiç bir işlem yapamamanıza sebep olur.
string
url
= ""
AJAX isteminin gönderileceği sayfadır. "ExternalRequest" ve "SubmitForm" metotları ile kullanılır.
event
onCreate
= null
xmlhttp bağlantısı açılır açılmaz çalışır.
myFunction({ "onCreate": function(xmlhttp){ //Herhangi bir işlem... } })
event
onUninitialized
= null
xmlhttp bağlantısı açılmadan hemen önce çalışır. (xmlhttp status değişkeni 0 değerini almaktadır)
myFunction({ "onUninitialized": function(xmlhttp){ //Herhangi bir işlem } })
event
onLoading
= null
xmlhttp istemi gönderilmeden hemen önce çalışır. (xmlhttp status değişkeni 1 değerini almaktadır)
myFunction({ "onLoading": function(xmlhttp){ //Herhangi bir işlem } })
event
onRequest
= null
xmlhttp istemi işlenirken çalışır (xmlhttp status değişkeni 2 değerini almaktadır).
header
ve
status
değişkenleri kullanılabilir.
myFunction({ "onRequest": function(xmlhttp){ //Herhangi bir işlem } })
event
onInteraction
= null
xmlhttp istemi gönderilmiştir ve yanıt alınmaktadır (xmlhttp status değişkeni 3 değerini almaktadır).
response
değişkeni, alınan yanıtın büyük bir kısmını içermektedir.
myFunction({ "onInteraction": function(xmlhttp){ //Herhangi bir işlem } })
event
onFinish
= null
xmlhttp istemi tamamlanmış ve yanıt tamamiyle alınmıştır. (xmlhttp status değişkeni 4 değerini almaktadır). Bu fonksiyon çalışmadan önce "target" parametresi de işleme sokulmaz. "target" parametresi işleme sokulduktan sonra çalışması için
onUpdate
kullanılmalıdır.
myFunction({ "onFinish": function(response, xmlhttp){ //Herhangi bir işlem } })
event
onUpdate
= null
"onFinish" ile arasındaki tek fark, "target" parametresinden sonra işleme sokulmasıdır. "target" parametresi kullanılmıyorsa aradaki fark ortadan kalkar.
myFunction({ "onUpdate": function(response, xmlhttp){ //Herhangi bir işlem } })
event
onFailure
= null
xmlhttp istemi sırasında yakalanan bir hata sonucunda çalışır.
myFunction({ "onFailure": function(error){ //Herhangi bir işlem } })