Область глобальной переменной PHP внутри класса

У меня есть следующий скрипт

myclass.php

<?php $myarray = array('firstval','secondval'); class littleclass { private $myvalue; public function __construct() { $myvalue = "INIT!"; } public function setvalue() { $myvalue = $myarray[0]; //ERROR: $myarray does not exist inside the class } } ?> 

Есть ли способ сделать $ myarray доступным внутри маленького класса, через простую декларацию? Я не хочу передавать его в качестве параметра конструктору, если это возможно.

Кроме того, я надеюсь, что вы на самом деле МОЖЕТ сделать глобальные переменные видимыми для класса php каким-то образом, но это мой первый раз, столкнувшийся с проблемой, поэтому я действительно не знаю.

Related of "Область глобальной переменной PHP внутри класса"

включая global $myarray в начале функции setvalue() .

 public function setvalue() { global $myarray; $myvalue = $myarray[0]; } 

ОБНОВИТЬ:
Как отмечается в комментариях, это плохая практика, и ее следует избегать.
Лучшим решением будет следующее: https://stackoverflow.com/a/17094513/3407923 .

в классе вы можете использовать любую глобальную переменную с $GLOBALS['varName'];

Построить новый класс singleton, используемый для хранения и доступа к переменным, которые вы хотите использовать?

  $GLOBALS['myarray'] = array('firstval','secondval'); 

В классе вы просто можете использовать $ GLOBALS ['myarray'].

Почему вы просто не используете геттер и сеттер для этого?

 <?php $oLittleclass = new littleclass ; $oLittleclass->myarray = array('firstval','secondval'); echo "firstval: " . $oLittleclass->firstval . " secondval: " . $oLittleclass->secondval ; class littleclass { private $myvalue ; private $aMyarray ; public function __construct() { $myvalue = "INIT!"; } public function __set( $key, $value ) { switch( $key ) { case "myarray" : $this->aMyarray = $value ; break ; } } public function __get( $key ) { switch( $key ) { case "firstval" : return $this->aMyarray[0] ; break ; case "secondval" : return $this->aMyarray[1] ; break ; } } } ?>