вот я не понимаю, если честно проблемы, потому что она у меня не возникала... Не было у меня желания куда-то все это инъектить...в таком случае у тебя в каждом Action записана строка $this->veiw->isAdmin
а еще в каждую $form и в каждой ControllerHelper и в каждый ActionHelper нужно тоже передавать с таким подходом... не геморойно ли?
Так лучше не писатьДоброе утро.
Переделал ф-ю. Вот что получилось:
PHP:function isAdmin($id){ static $truefalse; if (!isset($truefalse[$id])) { $query="SELECT 1 FROM `users` `t1`, `groups` `t2` WHERE `t1`.`id`='".mysql_real_escape_string($id)."' AND `t2`.`sysName`='admin' AND `t1`.`group_id`=`t2`.`id`;"; $result=mysql_query($query) or die ("Ошибка выполнения запроса к БД: ".mysql_error()); $truefalse[$id]=(bool)mysql_num_rows($result); } return $truefalse[$id]; }
return $truefalse[$id]
$truefalse
function isAdmin($id)
{
static $arSomeInformation;
$arSomeInformation = array(1, 2, 3, 4, 5);
if (!isset($arSomeInformation[$id])) {
echo "It works";
return true;
}
return false;
}
var_dump(isAdmin(null));// true
function isAdmin($id)
{
static $arSomeInformation;
$arSomeInformation = array(1, 2, 3, 4, 5);
if (!empty($arSomeInformation[$id])) {
echo "It works";
return true;
}
return false;
}var_dump(isAdmin(null));// false
Я правильно понял что речь о ссылка, а не о какой-то терминологии в php?Аааа я понял тут архитектура кривая, блин, а я то... isAdmin должен браться из сессии пользователя, а проверяться чуть ли не в бутстрапе.
Я так понимаю здесь речь идет о MVC?один раз в контроллере, 15 раз в разных моделях, 10 раз во вью и во всех _partials остальное понятия не имею, возможно в bootstrape а возможно в хелперах если говорить о zend
Поясните пожалуйста что это означает? Нашел термин, но он относится к экономике, а не программированию.вызываться только в просессе бутстрапинга приложения.
нет совершенно не верно, смотри в приложении, более менее среднем, есть такое понятие как точка входа. Это файл index.php именно он загружает все все. По сути его можно называть бутстрапом, но опять же ты тянешься к знаниями, поэтому есть практика разделить начальную настройку и саму загрузку приложения. Вот на индексный файл ложиться задача настроить все необходимое, а файл бутстрапа будет загружен из него и получит все настройки.Я правильно понял что речь о ссылка, а не о какой-то терминологии в php?
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH',
realpath(dirname(__FILE__) . '/../application'));
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV',
(getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV')
: 'production'));
// Typically, you will also want to add your library/ directory
// to the include_path, particularly if it contains your ZF installed
set_include_path(implode(PATH_SEPARATOR, array(
dirname(dirname(__FILE__)) . '/library',
get_include_path(),
)));
/** Zend_Application */
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap()
->run();
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initView()
{
// Initialize view
$view = new Zend_View();
$view->doctype('XHTML1_STRICT');
$view->headTitle('My First Zend Framework Application');
// Add it to the ViewRenderer
$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper(
'ViewRenderer'
);
$viewRenderer->setView($view);
// Return it, so that it can be stored by the bootstrap
return $view;
}
}
Пример моего индексного файла:нет совершенно не верно, смотри в приложении, более менее среднем, есть такое понятие как точка входа. Это файл index.php именно он загружает все все. По сути его можно называть бутстрапом, но опять же ты тянешься к знаниями, поэтому есть практика разделить начальную настройку и саму загрузку приложения. Вот на индексный файл ложиться задача настроить все необходимое, а файл бутстрапа будет загружен из него и получит все настройки.
<?php
/**
* Основная страница системы. Загружается практически всегда
*/
session_start();
require ($_SERVER["DOCUMENT_ROOT"].'/crm/lib/vars.php');
require (_CRM_HOME_DIR_.'lib/functions.php');
require (_CRM_CLASSES_DIR_.'_class.include.php');
нет твой vars.php не бутстрап, это настройка просто, то есть:Т.е. по аналогии у меня бустрапом является vars.php в котором я определяю начальные переменные и пути к директориям, так?
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
<?php
try
{
require('./configuration/base.php');
$context = Krugozor_Context::getInstance();
$context->setRequest(Krugozor_Http_Request::getInstance())
->setResponse(Krugozor_Http_Response::getInstance())
->setDb(Krugozor_Database_Mysql::create(
Krugozor_Registry::getInstance()->DATABASE['HOST'],
Krugozor_Registry::getInstance()->DATABASE['USER'],
Krugozor_Registry::getInstance()->DATABASE['PASSWORD']
)->setDatabaseName(Krugozor_Registry::getInstance()->DATABASE['NAME'])
->setCharset(Krugozor_Registry::getInstance()->DATABASE['CHARSET'])
);
$application = new Krugozor_Application($context);
$application->enabledDebugInfo(Krugozor_Registry::getInstance()->DEBUG['ENABLED_DEBUG_INFO'])
->setRoutesFromPhpFile('./configuration/routes.php');
$application->run();
}
catch (Exception $e)
{
error_log($e->getMessage(), 0);
}
нет. это не красиво.Krugozor_Database_Mysql::createFromConfig( Krugozor_Registry::getInstance()->Database ) не?
регистр к хранению объекта БД отношения не должен иметь. он хранит настройки и конфиги.(а еще в Registry можно подвесить __callStatic. Krugozor_Registry->Database() не приятнее ли?)
$response = $downloadMaster->download($request); // для работы с удаленным сервером
Нормально делает я считаю, я вот никак не наберусь смелости) прилепил какой нить Craz_ClassName - и все пипец теперь это ТВОЙ код)Какого хера ты везде лепишь свой префикс к именам классов? Страшный ты человек.
Что значит какого хера? Пространство имен это.Какого хера ты везде лепишь свой префикс к именам классов?
подзапрос aka HMVC или как его там еще называют;
Не страшнее, чем ты.Страшный ты человек.
давно ли оно появилось? Да и как разница ну с пространством имен он привел бы пример?Для таких вещей существуют пространства имен.
Доброе утро. 5.3.давно ли оно появилось?