Create Hello World CakePHP Component
We all very happy and energised when we came to know something new or something we felt hard before we done it. In this tutorial we are going to write our own hello world component (plugin) in CakePHP.
The component is a logic container in CakePHP (ex. plugin in WordPress). All just needed is, include it and utilize those functions in that component. If some CakePHP developers want share their programming logic or functionality with fellow CakePHP developers, they will write as a component and share it with their programming community.
Once your Cakephp installation, database connections and security salt setting everything done. We are now able write our first hello world CakePHP component.
Step 1:
I am going to create component in the name of muni i.e. MuniComponent
To create your CakePHP component all you needed is to create php file in the follwoing directory. That’s app/controller/component/MuniComponent.php
Every component class we are creating must extends base component class that’s in the CakePHP library folder (lib/Cake/Controller/Component.php). So first in the component import component class.
App::uses('Component', 'Controller');
Where Controller – Indicates folder name
Component — Indicates class name we are including in the file.
Now create Component class, and write hello() function that returns ‘hello world’ string.
<?php App::uses('Component', 'Controller'); class MuniComponent extends Component { // hello world function public function hello() { return 'hello world'; } } ?>
That’s it you successfully created your first hello world compnont in CakePHP, so any one use your component in their application .i.e. controller.
Step 2:
Now we are going to use the componenet(MuniComponent) just we written now. So I am going use this component in my UsersController. Before use any component in a controller, we must include it in a controller.
public $components = array('Muni');
Now I am going use hello() function of the component in the Controller, which going to return ‘hello world’ string.
<?php App::uses('Controller', 'Controller'); class UsersController extends Controller{ //include component you want to use public $components = array('Muni'); public function index() { $this->layout = 'common'; //calling component function we written $data = $this->Muni->hello(); $this->set( 'data', $data); } } ?>
I have added one more function in the MuniComponent, that’s passwordGenerator() function which going to return random password when we are going to call it.
// password generator function public function passwordGenerator( $length = 10){ $letters ="@#$%^&*()_-+<>':,.1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; return substr(str_shuffle($letters), 0, $length); }
In controller
//calling password generator function of component $pass = $this->Muni->passwordGenerator(20); $this->set( 'pass', $pass);
Download Premium Only Scripts & 80+ Demo scripts Instantly at just 1.95 USD per month + 10% discount to all Exclusive Scripts
If you want any of my script need to be customized according to your business requirement,
Please feel free to contact me [at] muni2explore[at]gmail.com
Note: But it will be charged based on your customization requirement