• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 285
  • Last Modified:

included code inside class, code needed outside

In Router, in a method, in an included file is the controller code. In the model and in the view, I need access to the Controller's properties and methods. In Router, in an other method, I want to return a controller object to the model and the view. What now???
0
locke1994
Asked:
locke1994
1 Solution
 
ycTINCommented:
FYI

class ModelClass {
	private = $parent;
	
	...
	public function ModelClass($_parent) {
		$this->parent = $_parent;
		
		echo $this->parent->hello();
	}
	
	...
}
 
 
class ControllerClass{
 
	...
	
	public function ControllerClass() {
		$page = new ModelClass($this);
		return $page;
	}	
	
	public function hello() {
		return "Hello";
	}
	
	...
}

Open in new window

0
 
Beverley PortlockCommented:
I'm not really sure I understand your question, but from looking at the code there is a syntax error in the first class that might stop it from working as you want. Where you have

class ModelClass {
        private = $parent;


change it to

class ModelClass {
        private $parent;
0
 
ycTINCommented:
yes, have some syntax or typing error in my code
i directly typed in notepad without testing
0
Cloud Class® Course: Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

 
Ray PaseurCommented:
I'm with Brian - I'm not really sure I understand your question either and if you want to rephrase it maybe we can help better.

Here is a simplified teaching example of how to use public and private properties and methods.  You can install it and run it to see how it works.  If you have any questions, please let me know.

Best, ~Ray
<?php // RAY_oop_vars.php
error_reporting(E_ALL);
 
// DECLARE THE CLASS
Class MyOOP
{
   public  $my_public_var  = 'open';
   private $my_privat_var;
 
// DECLARE THE CONSTRUCTOR
   public function __construct()
   {
      $this->my_privat_var = 'closed';
   }
 
// DECLARE A FUNCTION
   public function show_vars()
   {
      echo "<br/>\n";
      echo "<br/>PUBLIC $this->my_public_var \n";
      echo "<br/>PRIVAT $this->my_privat_var \n";
   }
 
// DECLARE ANOTHER FUNCTION
   public function set_privat($value)
   {
      $this->my_privat_var = $value;
   }
// END CLASS DECLARATION
}
 
 
 
 
// INSTANTIATE THE CLASS AND SHOW THE INITIAL VALUES OF VARIABLES
$a = new MyOOP;
$a->show_vars();
 
// SET A PRIVATE VARIABLE VIA THE FUNCTION
$a->set_privat('NewValue');
 
// SET A PUBLIC VARIABLE DIRECTLY
$a->my_public_var = 'Cheese';
 
// SEE THE NEW VALUES
$a->show_vars();
 
// DUMP THE VALUES FROM THE OBJECT
echo "<pre>";
var_dump($a);
 
// TRY TO SET A PRIVATE VARIABLE THE WRONG WAY
$a->my_privat_var = 'Beer';

Open in new window

0
 
Ray PaseurCommented:
I'm mystified.  Can you please tell us a little more about the question and why you accepted that answer?  Thanks, ~Ray
0
 
locke1994Author Commented:
I didn't want to delete the question and I thought the answer was probably right.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Certified Penetration Testing

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now