Browse Source

Added a basic app.

tags/2.0.0-beta
Qiang Xue 12 years ago
parent
commit
122376a868
  1. 1
      app/assets/.gitignore
  2. 9
      app/index.php
  3. 15
      app/protected/config/main.php
  4. 22
      app/protected/controllers/SiteController.php
  5. 43
      app/protected/models/User.php
  6. 1
      app/protected/runtime/.gitignore
  7. 22
      app/protected/views/layouts/main.php
  8. 17
      app/protected/views/site/index.php
  9. 8
      framework/web/UrlManager.php

1
app/assets/.gitignore vendored

@ -0,0 +1 @@
*

9
app/index.php

@ -0,0 +1,9 @@
<?php
defined('YII_DEBUG') or define('YII_DEBUG', true);
require(__DIR__ . '/../framework/yii.php');
$config = require(__DIR__ . '/protected/config/main.php');
$application = new yii\web\Application($config);
$application->run();

15
app/protected/config/main.php

@ -0,0 +1,15 @@
<?php
return array(
'id' => 'hello',
'basePath' => dirname(__DIR__),
'components' => array(
'cache' => array(
'class' => 'yii\caching\FileCache',
),
'user' => array(
'class' => 'yii\web\User',
'identityClass' => 'app\models\User',
)
),
);

22
app/protected/controllers/SiteController.php

@ -0,0 +1,22 @@
<?php
class SiteController extends \yii\web\Controller
{
public function actionIndex()
{
echo $this->render('index');
}
public function actionLogin()
{
$user = app\models\User::findIdentity(100);
Yii::$app->getUser()->login($user);
Yii::$app->getResponse()->redirect(array('site/index'));
}
public function actionLogout()
{
Yii::$app->getUser()->logout();
Yii::$app->getResponse()->redirect(array('site/index'));
}
}

43
app/protected/models/User.php

@ -0,0 +1,43 @@
<?php
namespace app\models;
class User extends \yii\base\Object implements \yii\web\Identity
{
public $id;
public $name;
public $authKey;
private static $users = array(
'100' => array(
'id' => '100',
'authKey' => 'test100key',
'name' => 'admin',
),
'101' => array(
'id' => '101',
'authKey' => 'test101key',
'name' => 'demo',
),
);
public static function findIdentity($id)
{
return isset(self::$users[$id]) ? new self(self::$users[$id]) : null;
}
public function getId()
{
return $this->id;
}
public function getAuthKey()
{
return $this->authKey;
}
public function validateAuthKey($authKey)
{
return $this->authKey === $authKey;
}
}

1
app/protected/runtime/.gitignore vendored

@ -0,0 +1 @@
*

22
app/protected/views/layouts/main.php

@ -0,0 +1,22 @@
<?php
/**
* @var $this \yii\base\View
* @var $content string
*/
use yii\helpers\Html;
?>
<!DOCTYPE html>
<html>
<?php $this->beginPage(); ?>
<head>
<title><?php echo Html::encode($this->title); ?></title>
<?php $this->head(); ?>
</head>
<body>
<h1>Welcome</h1>
<?php $this->beginBody(); ?>
<?php echo $content; ?>
<?php $this->endBody(); ?>
</body>
<?php $this->endPage(); ?>
</html>

17
app/protected/views/site/index.php

@ -0,0 +1,17 @@
<?php
/** @var $this \yii\base\View */
use yii\helpers\Html;
$this->title = 'Hello World';
$user = Yii::$app->getUser();
if ($user->isGuest) {
echo Html::a('login', array('login'));
} else {
echo "You are logged in as " . $user->identity->name . "<br/>";
echo Html::a('logout', array('logout'));
}
?>

8
framework/web/UrlManager.php

@ -74,9 +74,6 @@ class UrlManager extends Component
public function init() public function init()
{ {
parent::init(); parent::init();
if (is_string($this->cache)) {
$this->cache = Yii::$app->getComponent($this->cache);
}
$this->compileRules(); $this->compileRules();
} }
@ -88,6 +85,9 @@ class UrlManager extends Component
if (!$this->enablePrettyUrl || $this->rules === array()) { if (!$this->enablePrettyUrl || $this->rules === array()) {
return; return;
} }
if (is_string($this->cache)) {
$this->cache = Yii::$app->getComponent($this->cache);
}
if ($this->cache instanceof Cache) { if ($this->cache instanceof Cache) {
$key = $this->cache->buildKey(__CLASS__); $key = $this->cache->buildKey(__CLASS__);
$hash = md5(json_encode($this->rules)); $hash = md5(json_encode($this->rules));
@ -104,7 +104,7 @@ class UrlManager extends Component
$this->rules[$i] = Yii::createObject($rule); $this->rules[$i] = Yii::createObject($rule);
} }
if ($this->cache instanceof Cache) { if (isset($key, $hash)) {
$this->cache->set($key, array($this->rules, $hash)); $this->cache->set($key, array($this->rules, $hash));
} }
} }

Loading…
Cancel
Save