بسم الله الرحمن الرحيم
اقدم لكم اليوم مكتبة Class and Object Functions
و هي المكتبة الخاصة بالتعامل مع الكلاسات او الOOP البرمجة الكائنية الموجهة
و الان مع الدوال
الداله الاولي : call_user_method
النسخة :
php4
الوصف :
تلك الدالة هي الدالة البديلة لأستدعاء اي كلاس
مثال:
كود PHP:
class banana {
var $peeled;
function banana () {
$this->peeled = FALSE;
}
function peel () {
$this->peeled = TRUE;
}
function eat () {
if ($this->peeled) {
print 'Yum!';
} else {
print 'Bleck! Consider peeling bananas <i>before</i> eating them?';
}
}
}
$banana = new banana ();
call_user_method ('eat', $banana);
الدالة الثانية : class_exists
النسخة :
php4
الوصف :
وظيفة تلك الدالة هي اختار اذا ما كان الكلاس موجود ام لا
مثال :
كود PHP:
// Why no class can be a nihilist
class nihilist {
function nihilist () {
print ""; // Ha ha - sorry for the crummy nihilist humor...
}
}
if (class_exists ('nihilist'))
print "Class <i>nihilist</i> exists.";
الدالة الثالثة : get_class
النسخة :
php4
الوصف :
وظيفة تلك الدالة هي ايجاد الكلاس المعطي مهمة محددة
مثال :
كود PHP:
class fruit {
var $name;
var $shape;
var $color;
function fruit ($name, $shape, $color) {
$this->name = $name;
$this->shape = $shape;
$this->color = $color;
}
}
$object = new fruit ('tomato', 'round', 'red');
$class = get_class ($object);
print "\$object is an instance of $class";
الدالة الرابعة : get_class_methods
النسخة :
php4
الوصف :
وظيفة تلك الدالة هي الحصول علي اسماء الطرق في اي كلاس
مثال :
كود PHP:
class locomotion {
function walk () {
// Do something...
}
function run () {
// Do something...
}
function crawl () {
// Do something...
}
function jog () {
// Do something...
}
function jump () {
// Do something...
}
function hop () {
// Do something...
}
function swim () {
// Do something...
}
function roll () {
// Do something...
}
function climb () {
// Do something...
}
}
// Find the methods available for the locomotion class
$method_names = get_class_methods ('locomotion');
// Display the method names
print "<pre>The locomotion class has the following methods:\n\t";
print implode ("\n\t", $method_names);
print '</pre>';
الدالة الخامسة : get_class_vars
النسخة :
php4
الوصف :
وظيفة تلك الدالة هي الحصول علي القيم الاصلية لمتغيرات الكلاس
مثال:
كود PHP:
class location {
var $x_axis = 0;
var $y_axis = 0;
var $z_axis = 0;
}
// Find the member variables of the location class
$var_names = get_object_vars ('location');
// Display the member variable names
print "<pre>The location class has the following member variables:\n\n";
print_r ($var_names);
print '</pre>';
الدالة السادسة : get_declared_classes
النسخة :
php 4
الوصف :
وظيفة تلك الدالة هي الحصول علي كل الاسماء الموجودة في جميع الكلاسات
مثال:
كود PHP:
$default_classes = get_declared_classes ();
foreach ($default_classes as $class_name)
print $class_name . '<br />';
الدالة السابعة : get_object_vars
النسخة :
php4
الوصف :
وظيفة تلك الدالة هي الحصول علي متغيرات الكلاس مع قيم المتغيرات الحالية
مثال :
كود PHP:
<?php
class Point2D {
var $x, $y;
var $label;
function Point2D($x, $y)
{
$this->x = $x;
$this->y = $y;
}
function setLabel($label)
{
$this->label = $label;
}
function getPoint()
{
return array("x" => $this->x,
"y" => $this->y,
"label" => $this->label);
}
}
// "$label" is declared but not defined
$p1 = new Point2D(1.233, 3.445);
print_r(get_object_vars($p1));
$p1->setLabel("point #1");
print_r(get_object_vars($p1));
?>
النتيجة :
Array
(
[x] => 1.233
[y] => 3.445
[label] =>
)
Array
(
[x] => 1.233
[y] => 3.445
[label] => point #1
)
الدالة الثامنة : get_parent_class
النسخة :
php4
الوصف :
وظيفة تلك الدالة هي ايجاد الاصل لموضوع الكلاس
مثال :
كود PHP:
<?php
class dad {
function dad()
{
// implements some logic
}
}
class child extends dad {
function child()
{
echo "I'm " , get_parent_class($this) , "'s son\n";
}
}
class child2 extends dad {
function child2()
{
echo "I'm " , get_parent_class('child2') , "'s son too\n";
}
}
$foo = new child();
$bar = new child2();
?>
النتيجة :
I'm dad's son
I'm dad's son too
الدالة التاسعة : is_subclass_of
النسخة :
php4
الوصف :
وظيفة تلك الدالة هي ايجاد اذا ما كان للكلاس اي فئة فرعية من كلاس اخر
مثال :
كود PHP:
// define a class
class WidgetFactory
{
var $oink = 'moo';
}
// define a child class
class WidgetFactory_Child extends WidgetFactory
{
var $oink = 'oink';
}
// create a new object
$WF = new WidgetFactory();
$WFC = new WidgetFactory_Child();
if (is_subclass_of($WFC, 'WidgetFactory')) {
echo "yes, \$WFC is a subclass of WidgetFactory\n";
} else {
echo "no, \$WFC is not a subclass of WidgetFactory\n";
}
if (is_subclass_of($WF, 'WidgetFactory')) {
echo "yes, \$WF is a subclass of WidgetFactory\n";
} else {
echo "no, \$WF is not a subclass of WidgetFactory\n";
}
// usable only since PHP 5.0.3
if (is_subclass_of('WidgetFactory_Child', 'WidgetFactory')) {[
echo "yes, WidgetFactory_Child is a subclass of WidgetFactory\n";
} else {
echo "no, WidgetFactory_Child is not a subclass of WidgetFactory\n";
}
النتيجة :
yes, $WFC is a subclass of WidgetFactory
no, $WF is not a subclass of WidgetFactory
yes, WidgetFactory_Child is a subclass of WidgetFactory
الدالة العاشرة :method_exists
النسخة :
php4
الوصف :
وظيفة تلك الدالة هي اكتشاف اذا ما كانت الطريقة موجودة ام لا
مثال :
كود PHP:
$directory = new Directory('.');
var_dump(method_exists($directory,'read'));
النتيجة :
bool(true)
و الان بعد الانتهاء من تلك المكتبة انتظروا الجديد
و لكم جزيل الشكر