CodeIgniter Libraries এবং Helpers

Web Development - কোডইগনাইটার (Codeigniter) -

CodeIgniter ডেভেলপারদের কাজ সহজ করতে Libraries এবং Helpers সরবরাহ করে। Libraries হলো পূর্বনির্ধারিত ক্লাস, যা বিভিন্ন জটিল কার্যকলাপ পরিচালনা করে, আর Helpers হলো সাধারণ ফাংশনগুলোর একটি সেট, যা কোড পুনরায় ব্যবহারযোগ্য এবং সহজ করে তোলে।


CodeIgniter Libraries

Libraries হলো CodeIgniter-এ বিল্ট-ইন ক্লাস, যা বিভিন্ন কাজ সম্পাদনে সাহায্য করে। উদাহরণস্বরূপ, ইমেইল প্রেরণ, ফাইল আপলোড, সেশন ম্যানেজমেন্ট ইত্যাদি।

Libraries লোড করা

Libraries লোড করার জন্য service() অথবা $this-> ব্যবহার করা যায়।

$email = \Config\Services::email(); // Service লোড করা
$this->session = \Config\Services::session(); // Session লোড করা

Libraries এর কিছু গুরুত্বপূর্ণ উদাহরণ

১. সেশন লাইব্রেরি (Session Library)

Session পরিচালনার জন্য ব্যবহার করা হয়।

$this->session = \Config\Services::session();
$this->session->set('user', 'John Doe'); // সেশন সেট
echo $this->session->get('user'); // সেশন রিড
২. ইমেইল লাইব্রেরি (Email Library)

ইমেইল পাঠানোর জন্য ব্যবহার করা হয়।

$email = \Config\Services::email();

$email->setFrom('your_email@example.com', 'Your Name');
$email->setTo('recipient@example.com');
$email->setSubject('Test Email');
$email->setMessage('This is a test email.');

if ($email->send()) {
    echo 'Email sent successfully!';
} else {
    echo $email->printDebugger();
}
৩. ফাইল আপলোড লাইব্রেরি (File Upload Library)

ফাইল আপলোড পরিচালনা করে।

$validationRule = [
    'file' => [
        'label' => 'File',
        'rules' => 'uploaded[file]|max_size[file,1024]|ext_in[file,png,jpg,gif]'
    ],
];

if (!$this->validate($validationRule)) {
    echo $this->validator->getErrors();
} else {
    $file = $this->request->getFile('file');
    if ($file->isValid() && !$file->hasMoved()) {
        $file->move(WRITEPATH . 'uploads');
        echo 'File uploaded successfully!';
    }
}
৪. ফর্ম ভ্যালিডেশন লাইব্রেরি (Form Validation Library)

ফর্মের ইনপুট যাচাই করতে ব্যবহার করা হয়।

$validation = \Config\Services::validation();

$validation->setRules([
    'username' => 'required|min_length[5]',
    'email' => 'required|valid_email'
]);

if (!$validation->withRequest($this->request)->run()) {
    print_r($validation->getErrors());
} else {
    echo 'Form is valid!';
}

CodeIgniter Helpers

Helpers হলো সাধারণ ফাংশনের একটি সেট, যা অ্যাপ্লিকেশনে পুনরায় ব্যবহারযোগ্য কোড সরবরাহ করে। এগুলো সাধারণ কাজগুলো সহজ করতে ব্যবহার করা হয়, যেমন URL ম্যানিপুলেশন, ফর্ম তৈরির ফাংশন ইত্যাদি।

Helpers লোড করা

Helper লোড করতে helper() ফাংশন ব্যবহার করা হয়।

helper('url'); // URL Helper লোড

Helpers এর কিছু গুরুত্বপূর্ণ উদাহরণ

১. URL Helper

URL ম্যানিপুলেশনের জন্য ব্যবহৃত হয়।

echo base_url(); // বেস URL রিটার্ন করবে
echo site_url('controller/method'); // নির্দিষ্ট রুটের জন্য URL রিটার্ন করবে
২. ফর্ম হেল্পার (Form Helper)

ফর্ম তৈরিতে সাহায্য করে।

helper('form');

echo form_open('controller/method');
echo form_input(['name' => 'username', 'id' => 'username']);
echo form_submit('submit', 'Submit');
echo form_close();
৩. টেক্সট হেল্পার (Text Helper)

টেক্সট ফরম্যাট করার জন্য ব্যবহৃত হয়।

helper('text');

echo word_limiter('This is a long text that needs to be shortened.', 5);
৪. ডেটা হেল্পার (Date Helper)

তারিখ এবং সময় ফরম্যাট করার জন্য ব্যবহৃত হয়।

helper('date');

echo now(); // বর্তমান সময়ের টাইমস্ট্যাম্প
echo date('Y-m-d H:i:s', now()); // ফরম্যাট করা তারিখ
৫. ডাউনলোড হেল্পার (Download Helper)

ডাউনলোড পরিচালনা করে।

helper('download');

$data = 'This is the file content.';
$name = 'example.txt';

force_download($name, $data);

Libraries এবং Helpers এর পার্থক্য

LibrariesHelpers
ক্লাস-ভিত্তিক।ফাংশন-ভিত্তিক।
একাধিক কার্যকরী ফিচার সরবরাহ করে।নির্দিষ্ট কাজের জন্য একাধিক ফাংশন সরবরাহ করে।
ব্যবহার করতে আগে লোড করা প্রয়োজন।Helper ফাংশন সরাসরি লোড করা যায়।

Libraries এবং Helpers ব্যবহারের সুবিধা

  1. কোড পুনরায় ব্যবহারযোগ্য: বারবার একই কাজ করার পরিবর্তে সরাসরি লাইব্রেরি বা হেল্পার ব্যবহার করা যায়।
  2. সহজ ইমপ্লিমেন্টেশন: জটিল কাজ সহজে সম্পাদন করা যায়।
  3. কোড স্ট্রাকচার পরিষ্কার রাখা: ছোট এবং কার্যকরী কোড লেখা সম্ভব।

CodeIgniter-এ Libraries এবং Helpers ব্যবহার করে অ্যাপ্লিকেশন ডেভেলপমেন্ট দ্রুত এবং কার্যকরভাবে সম্পন্ন করা যায়। এগুলো ডেভেলপারদের সময় সাশ্রয় এবং কোডের পুনরায় ব্যবহারযোগ্যতা বাড়ায়।

Content added By

Built-in Libraries ব্যবহার

CodeIgniter এর Built-in Libraries ডেভেলপারদের জন্য একটি শক্তিশালী এবং ব্যবহারযোগ্য টুলসেট সরবরাহ করে, যা অ্যাপ্লিকেশন ডেভেলপমেন্টকে দ্রুত এবং কার্যকরী করে তোলে। এই লাইব্রেরিগুলো ডাটাবেস ম্যানেজমেন্ট, সেশন হ্যান্ডলিং, ইমেইল সেন্ডিং, ফাইল আপলোড এবং আরও অনেক কার্যক্রম সহজ করার জন্য ডিজাইন করা হয়েছে।


Built-in Libraries এর ব্যবহার

১. লাইব্রেরি লোড করা

CodeIgniter এ Built-in Libraries লোড করার জন্য services() বা load() ফাংশন ব্যবহার করা হয়। উদাহরণস্বরূপ:

$session = \Config\Services::session();

২. লাইব্রেরি ব্যবহার করা

লাইব্রেরি লোড করার পর এটি ব্যবহার করতে পারবেন। যেমন:

$session->set('user_id', 123);

গুরুত্বপূর্ণ Built-in Libraries

সেশন লাইব্রেরি (Session Library)

সেশন ম্যানেজমেন্ট করার জন্য CodeIgniter এর সেশন লাইব্রেরি অত্যন্ত কার্যকর।

সেশন সেট করা
$session = \Config\Services::session();
$session->set('username', 'JohnDoe');
সেশন থেকে ডেটা রিট্রিভ করা
$username = $session->get('username');
সেশন মুছে ফেলা
$session->destroy();

ডাটাবেস লাইব্রেরি (Database Library)

ডাটাবেস পরিচালনা করার জন্য CodeIgniter এর ডাটাবেস লাইব্রেরি ব্যবহৃত হয়।

ডাটাবেস কানেকশন
$db = \Config\Database::connect();
কাস্টম কুয়েরি চালানো
$query = $db->query("SELECT * FROM products");
$result = $query->getResult();
Query Builder ব্যবহার
$builder = $db->table('products');
$products = $builder->get()->getResult();

ইমেইল লাইব্রেরি (Email Library)

CodeIgniter এর Email Library ইমেইল পাঠানোর জন্য ব্যবহৃত হয়।

ইমেইল কনফিগারেশন
$email = \Config\Services::email();

$email->setFrom('your@example.com', 'Your Name');
$email->setTo('receiver@example.com');
$email->setSubject('Email Test');
$email->setMessage('Testing the email class.');

if ($email->send()) {
    echo "Email sent successfully!";
} else {
    echo "Failed to send email.";
}

ফাইল আপলোড লাইব্রেরি (File Upload Library)

CodeIgniter এর File Upload Library ব্যবহার করে ফাইল আপলোড করা সহজ।

ফাইল আপলোড করা
$validationRule = [
    'userfile' => [
        'label' => 'Image File',
        'rules' => 'uploaded[userfile]|is_image[userfile]|max_size[userfile,1024]',
    ],
];

if ($this->validate($validationRule)) {
    $file = $this->request->getFile('userfile');
    $file->move(WRITEPATH . 'uploads');
    echo "File uploaded successfully!";
} else {
    echo "File upload failed!";
}

ফর্ম ভ্যালিডেশন লাইব্রেরি (Form Validation Library)

Form Validation ডেটার সঠিকতা যাচাই করতে ব্যবহৃত হয়।

ফর্ম ভ্যালিডেশন নিয়ম সেট করা
$validation = \Config\Services::validation();
$validation->setRules([
    'username' => 'required|min_length[3]',
    'email'    => 'required|valid_email',
]);

if ($validation->withRequest($this->request)->run()) {
    echo "Form is valid!";
} else {
    print_r($validation->getErrors());
}

URI লাইব্রেরি (URI Library)

CodeIgniter এর URI Library URL এবং URI সম্পর্কিত কাজ করতে ব্যবহৃত হয়।

URI সেগমেন্ট রিট্রিভ করা
$uri = service('uri');
echo $uri->getSegment(1); // প্রথম URI সেগমেন্ট

ইমেজ ম্যানিপুলেশন লাইব্রেরি (Image Manipulation Library)

CodeIgniter ইমেজ রিসাইজ, ক্রপ এবং রোটেট করার জন্য একটি শক্তিশালী ইমেজ ম্যানিপুলেশন লাইব্রেরি সরবরাহ করে।

ইমেজ রিসাইজ করা
$image = \Config\Services::image()
    ->withFile('/path/to/image.jpg')
    ->resize(200, 200)
    ->save('/path/to/resized_image.jpg');

Built-in Libraries এর সুবিধা

  1. সহজ ইমপ্লিমেন্টেশন: লাইব্রেরিগুলো সরাসরি লোড এবং ব্যবহার করা যায়।
  2. সমৃদ্ধ ফিচার: ডাটাবেস, ফাইল আপলোড, ইমেইল ইত্যাদি ব্যবস্থাপনার জন্য উন্নত টুলস।
  3. দ্রুত উন্নয়ন: প্রি-বিল্ট ফিচার ব্যবহার করে দ্রুত অ্যাপ্লিকেশন ডেভেলপমেন্ট সম্ভব।
  4. নিরাপত্তা: লাইব্রেরিগুলো সুরক্ষিত এবং কার্যক্ষম।

CodeIgniter এর Built-in Libraries ডেভেলপারদের কার্যক্রম সহজ করে এবং উন্নতমানের অ্যাপ্লিকেশন তৈরি করতে সহায়ক। এগুলো ব্যবহার করে দ্রুত এবং কার্যকর অ্যাপ্লিকেশন তৈরি করা সম্ভব।

Content added By

Common Helper Functions

CodeIgniter বিভিন্ন Helper Functions সরবরাহ করে, যা ডেভেলপমেন্ট প্রক্রিয়াকে সহজ এবং দ্রুত করে তোলে। এগুলো পুনরায় ব্যবহারযোগ্য ফাংশন, যা নির্দিষ্ট কাজ সম্পন্ন করতে সাহায্য করে। CodeIgniter এর Helper Functions গুলো বিভিন্ন ক্যাটাগরিতে বিভক্ত।


CodeIgniter Helper Functions ব্যবহারের ধাপ

  1. Helper লোড করা: Helper ব্যবহার করার আগে helper() ফাংশন ব্যবহার করে লোড করতে হবে।

    helper('form'); // Form Helper লোড করা
    
  2. একাধিক Helper লোড করা:

    helper(['form', 'url']); // Form এবং URL Helper লোড করা
    
  3. Auto-load Helpers:
    app/Config/Autoload.php ফাইলে Helpers যোগ করুন:

    public $helpers = ['form', 'url'];
    

Common Helper Functions এর তালিকা

১. URL Helper

URL Helper URL তৈরির জন্য বিভিন্ন ফাংশন সরবরাহ করে।

FunctionDescription
base_url()বেস URL রিটার্ন করে।
site_url()সাইটের পূর্ণ URL রিটার্ন করে।
current_url()বর্তমান পেজের সম্পূর্ণ URL রিটার্ন করে।
previous_url()আগের পেজের URL রিটার্ন করে।
anchor()HTML Anchor ট্যাগ তৈরি করে।

উদাহরণ:

echo base_url(); // http://localhost/
echo site_url('products'); // http://localhost/products
echo anchor('products', 'View Products'); // <a href="http://localhost/products">View Products</a>

২. Form Helper

Form Helper ফর্ম তৈরির জন্য সহায়ক ফাংশন সরবরাহ করে।

FunctionDescription
form_open()একটি ফর্মের শুরু ট্যাগ তৈরি করে।
form_close()ফর্মের শেষ ট্যাগ তৈরি করে।
form_input()টেক্সট ইনপুট তৈরি করে।
form_password()পাসওয়ার্ড ইনপুট তৈরি করে।
form_dropdown()ড্রপডাউন তৈরি করে।
form_submit()সাবমিট বাটন তৈরি করে।

উদাহরণ:

echo form_open('form/submit');
echo form_input(['name' => 'username', 'placeholder' => 'Username']);
echo form_password(['name' => 'password', 'placeholder' => 'Password']);
echo form_submit('submit', 'Login');
echo form_close();

৩. Text Helper

Text Helper বিভিন্ন টেক্সট প্রক্রিয়াকরণের জন্য ফাংশন সরবরাহ করে।

FunctionDescription
word_limiter()নির্দিষ্ট শব্দের পরে টেক্সট কেটে দেয়।
character_limiter()নির্দিষ্ট ক্যারেক্টারের পরে টেক্সট কেটে দেয়।
highlight_phrase()টেক্সটের নির্দিষ্ট শব্দ হাইলাইট করে।

উদাহরণ:

$text = "CodeIgniter is a powerful PHP framework.";
echo word_limiter($text, 3); // CodeIgniter is a...
echo character_limiter($text, 20); // CodeIgniter is a p...
echo highlight_phrase($text, 'CodeIgniter', '<b>', '</b>'); // <b>CodeIgniter</b> is a powerful PHP framework.

৪. File Helper

File Helper ফাইল ম্যানিপুলেশনের জন্য সহায়ক ফাংশন সরবরাহ করে।

FunctionDescription
read_file()একটি ফাইল পড়ে।
write_file()একটি ফাইলে ডেটা লিখে।
delete_files()একটি ডিরেক্টরির ফাইলগুলো ডিলিট করে।

উদাহরণ:

$content = read_file('./uploads/example.txt');
write_file('./uploads/new_file.txt', 'Hello, CodeIgniter!');
delete_files('./uploads/temp/');

৫. Array Helper

Array Helper অ্যারের সাথে কাজ করার জন্য বিভিন্ন ফাংশন সরবরাহ করে।

FunctionDescription
element()অ্যারের নির্দিষ্ট একটি এলিমেন্ট রিটার্ন করে।
random_element()অ্যারেতে থেকে র‍্যান্ডম একটি এলিমেন্ট রিটার্ন করে।

উদাহরণ:

$array = ['name' => 'John', 'email' => 'john@example.com'];
echo element('name', $array); // John
echo random_element($array); // John বা john@example.com

৬. Security Helper

Security Helper ইনপুট স্যানিটাইজ এবং সুরক্ষিত করার জন্য সহায়ক ফাংশন সরবরাহ করে।

FunctionDescription
xss_clean()XSS আক্রমণ থেকে সুরক্ষিত ইনপুট প্রদান করে।
strip_image_tags()ইমেজ ট্যাগ ফিল্টার করে।

উদাহরণ:

$input = '<script>alert("Hack!")</script>';
echo xss_clean($input); // ফিল্টার করা ইনপুট রিটার্ন করবে

Custom Helper Functions তৈরি করা

Custom Helper ফাইল তৈরি

  1. app/Helpers/custom_helper.php নামে একটি ফাইল তৈরি করুন।
  2. ফাংশন যোগ করুন:

    function greet($name) {
        return "Hello, " . ucfirst($name) . "!";
    }
    

Custom Helper লোড এবং ব্যবহার

helper('custom_helper');
echo greet('john'); // Hello, John!

সেরা প্র্যাকটিস

  1. প্রয়োজন অনুযায়ী Helper লোড করুন: অপ্রয়োজনীয় Helper লোড করবেন না।
  2. Custom Helper তৈরি করুন: যদি প্রয়োজন হয়, কাস্টম Helper তৈরি করুন।
  3. Security ফাংশন ব্যবহার করুন: ইনপুট সুরক্ষিত করার জন্য Security Helper ব্যবহার করুন।

CodeIgniter এর Common Helper Functions ডেভেলপমেন্ট দ্রুততর এবং কার্যকর করে। এগুলো ব্যবহার করে কোড পরিষ্কার এবং পুনরায় ব্যবহারযোগ্য রাখা সম্ভব।

Content added By

Custom Library এবং Helper তৈরি

CodeIgniter আপনাকে অ্যাপ্লিকেশনের জন্য Custom Library এবং Helper তৈরি করার সুবিধা দেয়। এটি কোড পুনরায় ব্যবহারযোগ্য করে এবং অ্যাপ্লিকেশনের মডুলারিটি বাড়ায়।


Custom Library তৈরি

Library কী?

Library হলো একটি ক্লাস, যা নির্দিষ্ট কার্যক্রম পরিচালনার জন্য তৈরি করা হয়। CodeIgniter এ Custom Library তৈরি করে আপনি নির্দিষ্ট লজিক বা কার্যক্রম আলাদা রাখতে পারেন।


Custom Library তৈরির ধাপ

১. Custom Library তৈরি

Custom Library তৈরি করতে, application/libraries ডিরেক্টরিতে একটি ফাইল তৈরি করুন। উদাহরণস্বরূপ, MyLibrary.php নামে একটি ফাইল তৈরি করুন:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class MyLibrary {

    public function print_message($message) {
        return "Message from MyLibrary: " . $message;
    }
}

২. Controller এ Custom Library লোড করা

Library লোড করতে load->library() ব্যবহার করুন:

class Welcome extends CI_Controller {

    public function index() {
        $this->load->library('MyLibrary'); // Library লোড
        echo $this->mylibrary->print_message('Hello, CodeIgniter!');
    }
}

৩. অটোলোড করা (ঐচ্ছিক)

Library প্রতি বার লোড করার প্রয়োজন না হলে এটি application/config/autoload.php ফাইলে অটোলোড করতে পারেন:

$autoload['libraries'] = ['MyLibrary'];

Custom Helper তৈরি

Helper কী?

Helper হলো ফাংশনের একটি কালেকশন, যা সাধারণ কাজ সম্পাদনের জন্য ব্যবহার করা হয়। এটি ক্লাস নয় এবং এটি স্ট্যাটিক ফাংশন হিসেবে কাজ করে।


Custom Helper তৈরির ধাপ

১. Custom Helper তৈরি

Custom Helper তৈরি করতে, application/helpers ডিরেক্টরিতে একটি ফাইল তৈরি করুন। উদাহরণস্বরূপ, my_helper.php নামে একটি ফাইল তৈরি করুন:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

if (!function_exists('print_message')) {
    function print_message($message) {
        return "Message from Helper: " . $message;
    }
}

২. Helper লোড করা

Helper লোড করতে load->helper() ব্যবহার করুন:

class Welcome extends CI_Controller {

    public function index() {
        $this->load->helper('my_helper'); // Helper লোড
        echo print_message('Hello, CodeIgniter!');
    }
}

৩. অটোলোড করা (ঐচ্ছিক)

Helper অটোলোড করতে, application/config/autoload.php ফাইলে এটি যোগ করুন:

$autoload['helper'] = ['my_helper'];

Custom Library এবং Helper এর মধ্যে পার্থক্য

বিষয়LibraryHelper
গঠনএকটি ক্লাস।ফাংশনের একটি কালেকশন।
ব্যবহার$this->load->library('library_name')$this->load->helper('helper_name')
কার্যক্রমনির্দিষ্ট কার্যক্রম পরিচালনার জন্য।ছোট ও সাধারণ কাজ পরিচালনার জন্য।
মেমরি ব্যবস্থাপনালোড হওয়ার পর মেমরিতে থাকে।শুধুমাত্র লোড করা ফাংশন ব্যবহার করা হয়।

উদাহরণ: Library এবং Helper একত্রে ব্যবহার

Library (MyLibrary.php)

<?php
class MyLibrary {
    public function format_text($text) {
        return strtoupper($text);
    }
}

Helper (my_helper.php)

<?php
function append_text($text, $suffix) {
    return $text . $suffix;
}

Controller

class Welcome extends CI_Controller {

    public function index() {
        $this->load->library('MyLibrary'); // Library লোড
        $this->load->helper('my_helper'); // Helper লোড

        $formatted_text = $this->mylibrary->format_text('hello');
        $final_text = append_text($formatted_text, ' CodeIgniter!');
        
        echo $final_text; // আউটপুট: HELLO CodeIgniter!
    }
}

Custom Library এবং Helper এর সুবিধা

  1. কোড পুনরায় ব্যবহারযোগ্যতা: কোড একবার লিখে বিভিন্ন স্থানে ব্যবহার করা যায়।
  2. মডুলারিটি বৃদ্ধি: অ্যাপ্লিকেশনকে আরও মডুলার এবং রক্ষণাবেক্ষণযোগ্য করে।
  3. সহজ লোডিং: প্রয়োজনীয় স্থানে সহজেই Library বা Helper লোড করা যায়।
  4. ডেভেলপমেন্ট সহজ: জটিল লজিককে ক্লাস বা ফাংশনে ভাগ করা সহজ হয়।

Custom Library এবং Helper ব্যবহার করে CodeIgniter এ কার্যকরী, পুনরায় ব্যবহারযোগ্য এবং রক্ষণাবেক্ষণযোগ্য কোড তৈরি করা সম্ভব।

Content added By

Custom Classes এবং মেথড যোগ করা

CodeIgniter-এ কাস্টম ক্লাস এবং মেথড যোগ করার মাধ্যমে অ্যাপ্লিকেশনের কার্যকারিতা বাড়ানো যায়। কাস্টম ক্লাস তৈরি করলে আপনি পুনঃব্যবহারযোগ্য কোড এবং সাধারণ কার্যক্রম সহজেই পরিচালনা করতে পারেন।


Custom Classes যোগ করার ধাপ

ধাপ ১: কাস্টম ক্লাস তৈরি

app/Libraries ডিরেক্টরিতে আপনার কাস্টম ক্লাস তৈরি করুন।

উদাহরণ: app/Libraries/MyCustomClass.php:

<?php

namespace App\Libraries;

class MyCustomClass
{
    public function greet($name)
    {
        return "Hello, $name!";
    }

    public function addNumbers($a, $b)
    {
        return $a + $b;
    }
}

ধাপ ২: কাস্টম ক্লাস ব্যবহার

কন্ট্রোলারে কাস্টম ক্লাস ব্যবহার করতে হলে, এটি লোড করুন।

কন্ট্রোলারের উদাহরণ: app/Controllers/Home.php:

<?php

namespace App\Controllers;

use App\Libraries\MyCustomClass;

class Home extends BaseController
{
    public function index()
    {
        $custom = new MyCustomClass();

        // greet() মেথড ব্যবহার
        echo $custom->greet("John Doe");

        // addNumbers() মেথড ব্যবহার
        echo $custom->addNumbers(5, 10);
    }
}

Custom মেথড যোগ করার ধাপ

কাস্টম মেথড হেল্পার ফাইল, মডেল, বা লাইব্রেরি-তে যোগ করা যায়।

১. Helper ফাইল এ কাস্টম মেথড যোগ করা

ফাইল তৈরি:

app/Helpers/custom_helper.php ফাইল তৈরি করুন।

কাস্টম মেথড লিখুন:
<?php

function formatDate($date)
{
    return date("d-m-Y", strtotime($date));
}
ফাইল লোড:

app/Config/Autoload.php ফাইলে হেল্পার অটো-লোড করুন:

public $helpers = ['custom_helper'];
ব্যবহার:
echo formatDate("2024-12-01"); // আউটপুট: 01-12-2024

২. Model এ কাস্টম মেথড যোগ করা

Model তৈরি:

app/Models/UserModel.php:

<?php

namespace App\Models;

use CodeIgniter\Model;

class UserModel extends Model
{
    protected $table = 'users';

    public function getUserByEmail($email)
    {
        return $this->where('email', $email)->first();
    }
}
ব্যবহার:

app/Controllers/UserController.php:

<?php

namespace App\Controllers;

use App\Models\UserModel;

class UserController extends BaseController
{
    public function findUser($email)
    {
        $userModel = new UserModel();
        $user = $userModel->getUserByEmail($email);

        print_r($user);
    }
}

৩. Library এ কাস্টম মেথড যোগ করা

লাইব্রেরি তৈরি:

app/Libraries/Calculator.php:

<?php

namespace App\Libraries;

class Calculator
{
    public function multiply($a, $b)
    {
        return $a * $b;
    }
}
ব্যবহার:
use App\Libraries\Calculator;

$calculator = new Calculator();
echo $calculator->multiply(4, 5); // আউটপুট: 20

Custom Classes অটোলোড করা

CodeIgniter এ ক্লাস অটোলোড করতে app/Config/Autoload.php ফাইল ব্যবহার করা হয়।

উদাহরণ:

public $psr4 = [
    'App\Libraries' => APPPATH . 'Libraries',
];

সুবিধা

  1. পুনঃব্যবহারযোগ্য কোড: কাস্টম ক্লাস এবং মেথড বারবার ব্যবহার করা যায়।
  2. কোড মডুলারিটি: কোডকে ছোট ছোট অংশে ভাগ করা সহজ।
  3. পরিচ্ছন্ন কোড: অ্যাপ্লিকেশন কোড পরিচ্ছন্ন এবং সুসংগঠিত থাকে।

Custom Classes এবং মেথড ব্যবহার করে অ্যাপ্লিকেশনের কার্যকারিতা সহজ এবং কার্যকরভাবে বৃদ্ধি করা যায়। এটি কোড পুনরায় ব্যবহারযোগ্য এবং রক্ষণাবেক্ষণযোগ্য করতে সাহায্য করে।

Content added By
Promotion