The Controller is the "C" in MVC. The base controller is a simple abstract class that defines the structure of all controllers. By including the registry here, the registry is available to all class that extend from the base controller. An index() method has also been included in the base controller which means all controller classes that extend from it must have an index() method themselves.

Add this code to the controller.class.php file in the application directory.

<?php
Abstract Class baseController {
protected $registry;
function __construct($registry) {
   $this->registry = $registry;
}
abstract function index();
}
?>

Whilst we are in the controller creating mood, we can create an index controller and a blog controller. The index controller is the system default and it is from here that the first page is loaded. The blog controller is for an imaginary blog module. When the module is specified in the URL

http://www.example.com/blog

then the index method in the blog controller is called. A view method will also be created in the blog controller and when specified in the URL

http://www.example.com/blog/view

then the view method in the blog controller will be loaded. First lets see the index controller. This will reside in the controller directory


<?php
class indexController extends baseController {
public function index() {
$this->registry->template->welcome = 'Welcome to MindPHP.com';
$this->registry->template->show('index');
}
}
?>

The indexController class above shows that the indexController extends the baseController class, thereby making the registry available to it without the need for global variables. The indexController class also contains the mandatory index() method that ll controllers must have. Within itn index() method a variable named "welcome" is set in the registry. This variable is available to the template when it is loaded via the template->show() method.

The blogController class follows the same format but has one small addition, a view() method. The view() method is an example of how a method other than the index() method may be called. The view method is loaded view URL http://www.example.com/blog/view

<?php
Class blogController Extends baseController {
public function index(){
$this->registry->template->blog_heading = 'This is the blog index';
$this->registry->template->show('blog_index');
}
public function view() {
$this->registry->template->blog_heading = 'This is the blog heading';
$this->registry->template->blog_content = 'This is the blog content';
$this->registry->template->show('blog_view');
}
}
?>

 

Recent Topics
Subject
Post Reply
Open
Recent
Report A Problem Using The Square Root Calculation Program
By Thanapoom1514 Wed 29 Nov 2023 10:46 am Board English Language
0
1445
Wed 29 Nov 2023 10:46 am By Thanapoom1514 View Topic Report A Problem Using The Square Root Calculation Program
Cyberpanel PHP8.2
By Anonymous Tue 28 Nov 2023 9:44 am Board English Language
1
661
Tue 28 Nov 2023 10:05 am By mindphp View Topic Cyberpanel PHP8.2
Guide to Domain Hosting: Types, Purchasing, and Current Services
By Watkinsayden81 Wed 08 Nov 2023 3:32 pm Board English Language
0
535
Wed 08 Nov 2023 3:32 pm By Watkinsayden81 View Topic Guide to Domain Hosting: Types, Purchasing, and Current Services
Report A Problem Using Program Calculates Tax Withholding
By Thanapoom1514 Thu 26 Oct 2023 11:19 am Board English Language
0
983
Thu 26 Oct 2023 11:19 am By Thanapoom1514 View Topic Report A Problem Using Program Calculates Tax Withholding
Expert Programming Assignment Help: Your Solution to Coding Challenges
By alfredaharnish Thu 19 Oct 2023 1:33 pm Board English Language
1
547
Sat 04 Nov 2023 7:57 pm By Anonymous View Topic Expert Programming Assignment Help: Your Solution to Coding Challenges
Report A Problem Using The Map Location Search Program
By Thanapoom1514 Thu 14 Sep 2023 4:47 pm Board English Language
1
1445
Tue 19 Sep 2023 4:17 pm By veras View Topic Report A Problem Using The Map Location Search Program
setup microsoft 365
By matthewtaylor39 Tue 05 Sep 2023 3:59 pm Board English Language
1
591
Mon 23 Oct 2023 7:14 pm By veras View Topic setup microsoft 365
Report a problem using Program Exchange Rate
By Thanapoom1514 Wed 21 Jun 2023 4:54 pm Board English Language
0
1958
Wed 21 Jun 2023 4:54 pm By Thanapoom1514 View Topic Report a problem using Program Exchange Rate
Where can I download most recent version of MDUpgrade?
By filipetorres Wed 24 May 2023 9:30 pm Board English Language
3
903
Thu 25 May 2023 4:41 pm By mindphp View Topic Where can I download most recent version of MDUpgrade?
How to plan your E-commerce website
By rachaelwools Mon 08 May 2023 5:48 pm Board English Language
1
742
Mon 15 May 2023 4:42 pm By Reginaler View Topic How to plan your E-commerce website
Report a problem, delete usage data in the domain checker program.
By Thanapoom1514 Mon 17 Apr 2023 4:58 pm Board English Language
0
731
Mon 17 Apr 2023 4:58 pm By Thanapoom1514 View Topic Report a problem, delete usage data in the domain checker program.
Report a problem using the QR code generator
By Thanapoom1514 Mon 03 Apr 2023 11:50 am Board English Language
0
826
Mon 03 Apr 2023 11:50 am By Thanapoom1514 View Topic Report a problem using the QR code generator
Report a problem using the domain checker program
By Thanapoom1514 Thu 30 Mar 2023 12:23 pm Board English Language
0
1760
Thu 30 Mar 2023 12:23 pm By Thanapoom1514 View Topic Report a problem using the domain checker program
Choosing The Perfect Venue for Your Special Day in Phuket
By Justastoryteller Wed 29 Mar 2023 9:35 am Board English Language
1
851
Tue 25 Apr 2023 5:40 pm By davidmikejohn View Topic Choosing The Perfect Venue for Your Special Day in Phuket
How to Decorate Your Apartment in Bangkok on a Budget
By pechevill Tue 28 Mar 2023 2:46 pm Board English Language
1
960
Wed 29 Mar 2023 2:43 pm By Justastoryteller View Topic How to Decorate Your Apartment in Bangkok on a Budget
Report a problem using the EAN-13 barcode generator program
By Thanapoom1514 Tue 28 Mar 2023 11:08 am Board English Language
0
1642
Tue 28 Mar 2023 11:08 am By Thanapoom1514 View Topic Report a problem using the EAN-13 barcode generator program
Report a problem using the program to calculate the air conditioning (BTU)
By Tookta Tue 28 Feb 2023 10:13 am Board English Language
0
2216
Tue 28 Feb 2023 10:13 am By Tookta View Topic Report a problem using the program to calculate the air conditioning (BTU)
Report an issue with the taxi rate calculation program
By flook Tue 21 Feb 2023 11:59 am Board English Language
0
1508
Tue 21 Feb 2023 11:59 am By flook View Topic Report an issue with the taxi rate calculation program
Report a problem using the Program for calculating land price per unit
By Thanapoom1514 Mon 20 Feb 2023 10:54 am Board English Language
0
2815
Mon 20 Feb 2023 10:54 am By Thanapoom1514 View Topic Report a problem using the Program for calculating land price per unit
Report a problem using the total land price calculation program
By Thanapoom1514 Mon 20 Feb 2023 10:24 am Board English Language
0
1385
Mon 20 Feb 2023 10:24 am By Thanapoom1514 View Topic Report a problem using the total land price calculation program