فراخوانی سفارشی فانکشن

مجتبی پاکزاد کدایگنایتر 3.1.9 در حال تکمیل رایگان

این فانکشن شما را قادر می‌سازد تا فانکشن‌های پی‌اچ‌پی برای کار با دیتابیس را که جزو فانکشن‌های نیتیو کدایگنایتر نیستند، به شیوه‌ای مستقل از پلت‌فرم فراخوانی کنید. برای مثال، فرض کنید قصد دارید فانکشن mysql_get_client_info () را فراخوانی کنید که به صورت نیتیو توسط کدایگنایتر پشتیبانی نمی‌شود. برای انجام این کار می‌توانید از کد زیر استفاده کنید:

$this->db->call_function('get_client_info');

نام فانکشن را باید بدون پیشوند mysql_ را به عنوان اولین پارامتر استفاده کنید. بر اساس اینکه چه درایور دیتابیسی در حال استفاده است، پیشوند به طور خودکار اضافه می‌شود. این قابلیت امکان این را فراهم می‌آورد تا از فانکشن‌های دیتابیس یکسان در پلت‌فرم‌های دیتابیس مختلف استفاده کنید. بدیهی است که همه فراخوانی‌های فانکشن‌ها بین پلت‌فرم‌ها دقیقا یکسان نیستند، بنابراین از این لحاظ که این فانکشن چقدر می‌تواند در استفاده به صورت مستقل از درایور دیتابیس، کاربردی باشد، محدودیت‌هایی وجود دارد.

هر پارامتری که نیاز دارید که در هنگام فراخوانی این فانکشن به آن پاس دهید، به عنوان پارامتری دیگر، به پارامتر دوم اضافه کنید.

$this->db->call_function('some_function', $param1, $param2, etc..);

اغلب، همچنین باید یک شناسه (ID) اتصال دیتابیس یا یک شناسه نتیجه بازگشتی از دیتابیس (database result ID) را ارائه دهید. شناسه اتصال با استفاده از کد زیر قابل دسترسی است:

$this->db->conn_id;

شناسه نتیجه بازگشتی نیز از داخل آبجکت نتیجه قابل دسترسی است، مانند این:

$query = $this->db->query("SOME QUERY");

$query->result_id;