Written by James McDonald

July 30, 2015

Learning PHP using firstly CakePHP 2 and now moving onto CakePHP 3 I’m finding there are some ways PHP has changed to allow you to write less and get the same result.

Arrays

Before

<?php

    $myarray = array(
                  'one' => 'One',
                  'two' => 'Two',
                  'three' => 'Three'
               );

?>

Now

<?php 

    $myarray = [ 
             'one' => 'One', 
             'two' => 'Two', 
             'three' => 'Three' 
         ];

?>

Short Tags

# long tags
<?php echo "Hello World"; ?>

# short tags
<? echo "Hello World"; ?>

And also a cool shortening of echo

# instead of 
<?php echo "Echo This!"; ?>

# you can do
<?= "Echo This!"; ?>

Speaking of differences as PHP gets new features. If you are wondering why the CakePHP 3 code looks different (the namespace and use keywords at the top of each file) check out http://daylerees.com/php-namespaces-explained for an explanation of what they are and why they are very useful (especially if you create or use 3rd party PHP libraries)

<?php

namespace App\Controller;

use App\Controller\AppController;
use Cake\ORM\TableRegistry;
    /**
     * Suburbs Controller
     *
     * @property \App\Model\Table\SuburbsTable $Suburbs
     */
class SuburbsController extends AppController

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The reCAPTCHA verification period has expired. Please reload the page.

You May Also Like…

Squarespace Image Export

To gain continued access to your Squarespace website images after cancelling your subscription you have several...

MySQL 8.x GRANT ALL STATEMENT

-- CREATE CREATE USER 'tgnrestoreuser'@'localhost' IDENTIFIED BY 'AppleSauceLoveBird2024'; GRANT ALL PRIVILEGES ON...

Exetel Opt-Out of CGNAT

If your port forwards and inbound and/or outbound site-to-site VPN's have failed when switching to Exetel due to their...