Я создаю уникальный идентификатор для моего небольшого приложения, но я столкнулся с некоторой проблемой с переменной областью . мой код- function create_id() { global $myusername; $part1 = substr($myusername, 0, -4); $part2 = rand (99,99999); $part3 = date("s"); return $part1.$part2.$part3; } $id; $count=0; while($count == 1) { $id; $id=create_id(); $sqlcheck = "Select * FROM ruser WHERE […]
У меня есть php-сайт, который протекает, как показано ниже. Обратите внимание, что я оставляю большую часть кода (везде, где есть эллипсы). index.php include template.php … $_template = new template; $_template->load(); … template.php class pal_template { … public function load() { … include example.php; … } example.php … global $_template; $_tempalate->foo(); … Теперь это прекрасно работает. […]
У меня есть функция в файле functions.php, который определяет определенные переменные: add_action( 'the_post', 'paginate_slide' ); function paginate_slide( $post ) { global $pages, $multipage, $numpages; if( is_single() && get_post_type() == 'post' ) { $multipage = 1; $id = get_the_ID(); $custom = array(); $pages = array(); $i = 1; foreach( get_post_custom_keys() as $key ) if ( false […]
Я много раз слышал на этом форуме, что использование глобальной переменной – это мертвый грех, и внедрение синглтона – преступление. Мне пришло в голову, что старые добрые константы несут в себе все черты этих бесчестных практик: они доступны по всему миру и, без сомнения, представляют собой глобальное состояние. Итак, вопрос в том, должен ли мы […]
Я прочитал почти все вопросы, которые я нашел в StackOverflow по этой теме, но не смог найти прямой ответ. Вот мой код: Класс приложения <?php class Application extends Settings { public function __construct($env, $cacheDir, $configFile) { self::$_env = $env; self::$_cacheDir = $cacheDir; self::$_config = $this->loadConfig($configFile) // reads configs from xml file into Config object } […]
Есть ли способ, чтобы можно было неявно объявлять переменные верхнего уровня глобальными для использования в закрытии? Например, если вы работаете с таким кодом: $a = 0; //A TOP-LEVEL VARIABLE Alpha::create('myAlpha') ->bind(DataSingleton::getInstance() ->query('c') ) ->addBeta('myBeta', function($obj){ $obj->bind(DataSingleton::getInstance() ->query('d') ) ->addGamma('myGamma', function($obj){ $obj->bind(DataSingleton::getInstance() ->query('a') ) ->addDelta('myDelta', function($obj){ $obj->bind(DataSingleton::getInstance() ->query('b') ); }); }) ->addGamma('myGamma', function($obj){ $a++; //OUT OF […]