Welcome Guest, Not a member yet? Register   Sign In
Parse error: syntax error, unexpected '::'
#1

Hello, 
I defined constants in Otobil_model.php
PHP Code:
class Otobil_model extends MY_Model
{

 
   const INDIVIDUAL_TYPE 'INDIVIDUAL';
 
   const CORPORATE_TYPE 'CORPORATE';


Then in Controller I am trying to access these constants:
PHP Code:
class Otobil extends Public_Controller
{
 
   function __construct()
 
   {
 
       parent::__construct();
 
       $this->load->model('otobil_model');
 
   }

 
   public function apply()
 
   {
 
       $type $this->otobil_model::CORPORATE_TYPE;     
 
   }


I am getting " Parse error: syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM) in \application\controllers\Otobil.php on line 36"

Anybody has idea why I am getting this error? 
I already did this in my other projects, but now I am getting this error...
Reply
#2

The double colon is for class references (http://php.net/manual/en/language.oop5.p...otayim.php).
You should refer to tyour constant as
Code:
Otobil_model::CORPORATE_TYPE
Reply
#3

(This post was last modified: 02-19-2019, 12:47 AM by neuron. Edit Reason: PHP VERSION )

There was error on loading of otobil_model but instead of showing me that error I got "Parse error: syntax error, unexpected '::'" this error.
When I fixed model loading error this error is gone.

So the result is,  there is nothing to prevent us using this way: $this->otobil_model::CONSTANT_NAME

As it turns out PHP 5.6 does not  support $this->otobil_model::CONSTANT_NAME this type of referencing.
I got this error because of I had a 5.6 PHP installed and when I run it on PHP 7.0 it worked;
Reply




Theme © iAndrew 2016 - Forum software by © MyBB