tutorial - CodeIgniter: কীভাবে কন্ট্রোলার, অ্যাকশন, URL তথ্য পেতে হয়




codeigniter tutorial (8)

আমার এই ইউআরএল আছে:

কিভাবে এই URL থেকে কন্ট্রোলার নাম, কর্ম নাম পেতে। আমি CodeIgniter নবাগত নই। এই তথ্য পেতে কোন সাহায্যকারী ফাংশন আছে

উদা:

$params = helper_function( current_url() )

যেখানে $params মত কিছু হয়ে যায়

array (
  'controller' => 'system/settings', 
  'action' => 'edit', 
  '...'=>'...'
)

অন্য উপায়

$this->router->class

আপনি ইউআরআই ক্লাস ব্যবহার করতে পারেন:

$this->uri->segment(n); // n=1 for controller, n=2 for method, etc

আমি নিম্নলিখিত কাজ বলা হয়েছে, কিন্তু বর্তমানে পরীক্ষা করতে অক্ষম:

$this->router->fetch_class();
$this->router->fetch_method();

ইউআরএল এর শেষ অংশ সবসময় কর্ম হতে হবে। এই মত পেতে দয়া করে:

$this->uri->segment('last_segment');

একটি সংযোজন হিসাবে

$this -> router -> fetch_module(); //Module Name if you are using HMVC Component

পদ্ধতি অব্যবহৃত হয়।

$this->router->fetch_class();
$this->router->fetch_method();

আপনি পরিবর্তে বৈশিষ্ট্য অ্যাক্সেস করতে পারেন।

$this->router->class;
$this->router->method;

Codeigniter ব্যবহারকারী গাইড দেখুন

URI রাউটিং পদ্ধতি fetch_directory (), fetch_class (), fetch_method ()

বৈশিষ্ট্যের সাথে CI_Router::$directory , CI_Router::$class এবং CI_Router::$method জনসাধারণ এবং তাদের নিজ নিজ fetch_*() বৈশিষ্ট্যগুলি ফেরত দেওয়ার জন্য আর কিছুই করছে না - এটি তাদের রাখা বুদ্ধিমান নয়।

যারা সমস্ত অভ্যন্তরীণ, নথিভুক্ত পদ্ধতি, তবে আমরা কেবলমাত্র পিছনে-সামঞ্জস্য বজায় রাখার জন্য তাদের জন্য অব্যবহৃত চয়ন করেছি। আপনি যদি তাদের কিছু ব্যবহার করেছেন, তবে আপনি এখন তার পরিবর্তে বৈশিষ্ট্যগুলি অ্যাক্সেস করতে পারেন:

$this->router->directory;
$this->router->class;
$this->router->method;

যদি আপনি এটি ব্যবহার করেন-> uri-> সেগমেন্ট, যদি url পুনর্লিখনের নিয়ম পরিবর্তন হয় তবে সেগুলির নাম মিললেই হারিয়ে যাবে।


হালনাগাদ

উত্তর যোগ করা হয়েছে 2015 এবং নিম্নলিখিত পদ্ধতি এখন অবচিত হয়

$this->router->fetch_class();  in favour of  $this->router->class; 
$this->router->fetch_method(); in favour of  $this->router->method;

হাই আপনি নিম্নলিখিত পদ্ধতি ব্যবহার করা উচিত

$this->router->fetch_class(); // class = controller
$this->router->fetch_method(); // action

এই উদ্দেশ্যে কিন্তু এটি ব্যবহার করার জন্য আপনাকে CI_Controller থেকে আপনার হুক প্রসারিত করতে হবে এবং এটি একটি যাদুমন্ত্রের মত কাজ করবে, আপনাকে uri অংশগুলি ব্যবহার করতে হবে না


$this->router->fetch_class(); 

// fecth ক্লাসের নিয়ামক শ্রেণী $ এই-> রাউটার-> fetch_method ();

// পদ্ধতি