php[tek] 2017: Atlanta

شبه نوع‌ها و متغیرهای استفاده شده در این مستندات

mixed

mixed نشان‌دهنده قبول نمودن چندین نوع پارامتر (البته نه همه) است.

gettype() برای مثال تمام انواع PHP را خواهد پذیرفت در حالی که str_replace() تنها string و array را خواهد پذیرفت.

number

number نشان‌دهنده یک پارامتر قبول‌کننده integer یا float است.

callback

بعضی توابع مانند call_user_func() یا usort() توابع فراخوانی بازگشتی را به عنوان پارامتر قبول می‌نمایند. توابع فراخوانی بازگشتی نمی‌توانند توابع ساده باشند اما متد‌های object شامل متدهای استاتیک کلاس است.

یک تابع PHP با استفاده از نام آن به عنوان یکstring استفاده می‌شود. یک تابع تعریف شده توسط کاربر و داخلی استفاده شده است به جز ساخت‌های زبانی array()٬ echo()٬ empty()٬ eval()٬ exit()٬ isset()٬ list()٬ print() یا unset().

یک متد object نمونه‌سازی شده به عنوان یک array شامل object در اندیس 0 و نام متد در اندیس 1 است.

متدهای استاتیک کلاس بدون قرار دادن مقدار اولیه object از یک کلاس با استفاده از گذراندن نام کلاس به جای object در اندیس 0 ممکن است.

جدا از توابع تعریف شده معمول توسط کاربر create_function() نیز می‌تواند یک تابع فراخوانی بازگشتی ناشناس بوجود آورد.از PHP 5.3.0 امکان ارسال closure به یک پارامتر بازگشتی وجود دارد.

Example #1 نمونه توابع فراخوانی بازگشتی

<?php 

// An example callback function
function my_callback_function() {
    echo 
'hello world!';
}

// An example callback method
class MyClass {
    static function 
myCallbackMethod() {
        echo 
'Hello World!';
    }
}

// Type 1: Simple callback
call_user_func('my_callback_function'); 

// Type 2: Static class method call
call_user_func(array('MyClass''myCallbackMethod')); 

// Type 3: Object method call
$obj = new MyClass();
call_user_func(array($obj'myCallbackMethod'));

// Type 4: Static class method call (As of PHP 5.2.3)
call_user_func('MyClass::myCallbackMethod');

// Type 5: Relative static class method call (As of PHP 5.3.0)
class {
    public static function 
who() {
        echo 
"A\n";
    }
}

class 
extends {
    public static function 
who() {
        echo 
"B\n";
    }
}

call_user_func(array('B''parent::who')); // A
?>

Example #2 Callback example using a Closure

<?php
// Our closure
$double = function($a) {
    return 
$a 2;
};

// This is our range of numbers
$numbers range(15);

// Use the closure as a callback here to
// double the size of each element in our
// range
$new_numbers array_map($double$numbers);

print 
implode(' '$new_numbers);
?>

The above example will output:

2 4 6 8 10

Note: در PHP4 لازم بود از مرجع برای ساخت نمونه فراخوانی اشاره‌گر به object حقیقی و نه کپی آن استفاده شود. برای جزئیات بیشتر مرجع‌ها توضیج داده شده را ببینید.

void

void به عنوان نوع بازگشتی به معنای بی‌فایده بودن بازگشت است. void در یک لیست پارامتر به معنای عدم پذیریش پارامتر توسط تابع است.

...

$... در نمونه تابع به معنای و همینطور در ادامه است. نام این متغیر هنگامی استفاده می‌شود که تابع قادر به دریافت هر تعداد آرگومات است.

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top