foreach ($this->_behaviors as $behavior) { if ($behavior->canGetProperty($name)) { return $behavior->$name; } } } if (method_exists($this, 'set' . $name)) { throw new InvalidCallException('Getting write-only property: ' . get_class($this) . '::' . $name); } else { throw new UnknownPropertyException('Getting unknown property: ' . get_class($this) . '::' . $name); } } /** * Sets the value of a component property. * This method will check in the following order and act accordingly: * * - a property defined by a setter: set the property value * - an event in the format of "on xyz": attach the handler to the event "xyz"
} elseif ($this->hasAttribute($name)) { return null; } else { if (isset($this->_related[$name]) || array_key_exists($name, $this->_related)) { return $this->_related[$name]; } $value = parent::__get($name); if ($value instanceof ActiveQueryInterface) { return $this->_related[$name] = $value->findFor($name, $this); } else { return $value; } }
'slug' => 'Slug', ]; } public function getName() { return $this->{'name_' . Yii::$app->language}; } public function getArticles() { return $this->hasMany(Article::className(), ['category_id'=>'id']); }
<?php use yii\helpers\Html; /* @var $this yii\web\View */ $this->title = $cat->getName(); $cat_art = \app\models\Article::find() ->where(['category_id'=>$cat->id]) ->orderBy("id DESC")->all(); ?>
*/ public function renderPhpFile($_file_, $_params_ = []) { ob_start(); ob_implicit_flush(false); extract($_params_, EXTR_OVERWRITE); require($_file_); return ob_get_clean(); } /** * Renders dynamic content returned by the given PHP statements.
$this->renderers[$ext] = Yii::createObject($this->renderers[$ext]); } /* @var $renderer ViewRenderer */ $renderer = $this->renderers[$ext]; $output = $renderer->render($this, $viewFile, $params); } else { $output = $this->renderPhpFile($viewFile, $params); } $this->afterRender($viewFile, $params, $output); } array_pop($this->_viewFiles); $this->context = $oldContext;
* @throws InvalidParamException if the view cannot be resolved or the view file does not exist. * @see renderFile() */ public function render($view, $params = [], $context = null) { $viewFile = $this->findViewFile($view, $context); return $this->renderFile($viewFile, $params, $context); } /** * Finds the view file based on the given view name. * @param string $view the view name or the path alias of the view file. Please refer to [[render()]] * on how to specify this parameter.
* These parameters will not be available in the layout. * @return string the rendering result. * @throws InvalidParamException if the view file or the layout file does not exist. */ public function render($view, $params = []) { $content = $this->getView()->render($view, $params, $this); return $this->renderContent($content); } /** * Renders a static string by applying a layout. * @param string $content the static string being rendered
if ($cat == null) { throw new NotFoundHttpException(Yii::t('app','Category not found.')); } return $this->render('category' , [ 'cat'=>$cat ]); } public function actionGallery() { $album = Album::findOne(['slug'=>'gallery']); if ($album == null) {
$args = $this->controller->bindActionParams($this, $params); Yii::trace('Running action: ' . get_class($this->controller) . '::' . $this->actionMethod . '()', __METHOD__); if (Yii::$app->requestedParams === null) { Yii::$app->requestedParams = $args; } return call_user_func_array([$this->controller, $this->actionMethod], $args); } }
} $result = null; if ($runAction && $this->beforeAction($action)) { // run the action $result = $action->runWithParams($params); $result = $this->afterAction($action, $result); // call afterAction on modules foreach ($modules as $module) { /* @var $module Module */
$parts = $this->createController($route); if (is_array($parts)) { /* @var $controller Controller */ list($controller, $actionID) = $parts; $oldController = Yii::$app->controller; Yii::$app->controller = $controller; $result = $controller->runAction($actionID, $params); Yii::$app->controller = $oldController; return $result; } else { $id = $this->getUniqueId(); throw new InvalidRouteException('Unable to resolve the request "' . ($id === '' ? $route : $id . '/' . $route) . '".');
$params = $this->catchAll; unset($params[0]); } try { Yii::trace("Route requested: '$route'", __METHOD__); $this->requestedRoute = $route; $result = $this->runAction($route, $params); if ($result instanceof Response) { return $result; } else { $response = $this->getResponse(); if ($result !== null) { $response->data = $result;
try { $this->state = self::STATE_BEFORE_REQUEST; $this->trigger(self::EVENT_BEFORE_REQUEST); $this->state = self::STATE_HANDLING_REQUEST; $response = $this->handleRequest($this->getRequest()); $this->state = self::STATE_AFTER_REQUEST; $this->trigger(self::EVENT_AFTER_REQUEST); $this->state = self::STATE_SENDING_RESPONSE; $response->send();
require(__DIR__ . '/vendor/autoload.php'); require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php'); $config = require(__DIR__ . '/app/config/web.php'); (new yii\web\Application($config))->run();
$_GET = [ 'slug' => 'news', ]; $_SERVER = [ 'HTTPS' => 'On', 'HTTP_HOST' => 'airport.tj', 'HTTP_X_HTTPS' => '1', 'HTTP_X_FORWARDED_PROTO' => 'https', 'HTTP_CONNECTION' => 'close', 'HTTP_ACCEPT' => '*/*', 'HTTP_USER_AGENT' => 'claudebot', 'HTTP_REFERER' => 'http://airport.tj/index.php/category/news', 'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin', 'SERVER_SIGNATURE' => '', 'SERVER_SOFTWARE' => 'Apache/2.4.29', 'SERVER_NAME' => 'airport.tj', 'SERVER_ADDR' => '127.0.0.1', 'SERVER_PORT' => '80', 'REMOTE_ADDR' => '54.226.222.183', 'DOCUMENT_ROOT' => '/home/c/cy30514/airport.tj/public_html', 'REQUEST_SCHEME' => 'http', 'CONTEXT_PREFIX' => '', 'CONTEXT_DOCUMENT_ROOT' => '/home/c/cy30514/airport.tj/public_html', 'SERVER_ADMIN' => 'info@timeweb.ru', 'SCRIPT_FILENAME' => '/home/c/cy30514/airport.tj/public_html/index.php', 'REMOTE_PORT' => '33272', 'GATEWAY_INTERFACE' => 'CGI/1.1', 'SERVER_PROTOCOL' => 'HTTP/1.0', 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => '', 'REQUEST_URI' => '/index.php/category/news', 'SCRIPT_NAME' => '/index.php', 'PATH_INFO' => '/category/news', 'PATH_TRANSLATED' => 'redirect:/index.php/news', 'PHP_SELF' => '/index.php/category/news', 'REQUEST_TIME_FLOAT' => 1710842016.4579999, 'REQUEST_TIME' => 1710842016, 'argv' => [], 'argc' => 0, ]; $_SESSION = [ '__flash' => [], ]; $_ENV = [ 'APACHE_CONFDIR' => '/etc/apache2-56', 'APACHE_RUN_DIR' => '/var/run/apache2-56', 'APACHE_PID_FILE' => '/var/run/apache2-56/apache2.pid', 'JOURNAL_STREAM' => '9:2224887242', 'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin', 'INVOCATION_ID' => 'd00195ba42a64529abdf3e4743d801bb', 'APACHE_LOCK_DIR' => '/var/lock/apache2-56', 'LANG' => 'C', 'APACHE_RUN_USER' => 'www-data', 'APACHE_RUN_GROUP' => 'www-data', 'APACHE_LOG_DIR' => '/var/log/apache2-56', 'PWD' => '/', ];