• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
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
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


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2020 MyBB Group.