我刚刚开始使用YII并设法完成我的第一个应用程序.不幸的是,发布日已经结束,我希望这个应用程序超级快.到目前为止,我遇到的加速它的唯一方法是标准缓存.还有哪些方法可以加快我的应用程序?
我最近开始使用"Jira"和"GreenHopper"插件.但是,我觉得这不是真正做我想要的.我在"Scrumworks pro"中看到了一个很酷的功能,您可以将该应用程序作为桌面应用程序运行.因此我的要求包括:
有什么建议?
如果我有:
ID | Title
1 | Shirt
2 | CD
3 | Cap
4 | Mp3
5 | Badge
Run Code Online (Sandbox Code Playgroud)
如果我想按此顺序排序:4,2,5,3,1.有没有办法在您明确指定的情况下进行SQL查询?就像是:
select * from TABLE order by ID(4,2,5,3,1) ??
Run Code Online (Sandbox Code Playgroud) 在Laravel你可以这样做:
$user = Auth::user();
Run Code Online (Sandbox Code Playgroud)
问题是,如果我对该对象上的项目进行了更改,它将为我提供更改之前的内容.如何刷新对象以获取最新值?即强制它从数据库中获取最新值?
是否有固有的方法来设置会话在一段时间后过期.我目前的设置似乎在30分钟后到期,我想禁用它或至少增加它,但我找不到Laravel中可以设置的任何地方?
从这个项目:什么是最好的Drupal部署策略?.... 我引用:
数据库比较棘手; 清理开发/暂存数据库并将其推送到最初是最容易的,但如果实时站点上的用户也在生成内容,那么在进行增量数据库更新时会有一些问题.
我想要一些关于如何做到这一点的想法?目前,我在本地计算机上获得了现有数据库的完整副本,提交了该subversion,然后部署整个数据库.目前该文件是15megs,每次我必须上传整个文件(我认为subversion将其视为一个完整的新文件,因为它每次都有很多变化).
所以,我的问题是:
我在xampp/mysql/bin/my.ini中更改了它,但仍然在重启MySQL后没有显示效果.如果我运行以下命令,它的工作原理:
mysql --max_allowed_packet=512M -u root < .\db\dropUser.sql
Run Code Online (Sandbox Code Playgroud)
但是,当我使用Drupal浏览页面时,我的限制又回到了1Mb,尽管我的my.ini文件中的值为512.
我有一个数组,其中可以有几个项目,例如:
Item 1
Item 2
Item 3
Item 4
Item 5
Item 6
etc
Run Code Online (Sandbox Code Playgroud)
我需要以最快的方式重组此数组,以便它最多包含X个项目.因此,如果我说X是3,那么结果数组必须是:
Item 1 , Item 2
Item 3, Item 4
Item 5, Item 6
etc
Run Code Online (Sandbox Code Playgroud)
或者如果它有7个项目,它将是:
Item 1 , Item 2, Item 3,
Item 4, Item 5,
Item 6, Item 7
Run Code Online (Sandbox Code Playgroud)
最简单的方法是什么?
我从这开始,但似乎真的必须有一个更简单的方法:
foreach ($addressParts as $part)
{
if (empty($part)) continue;
if (empty($addressLines[$count])) $addressLines[$count] = '';
$addressLines[$count] .= $part;
$count++;
if ($count > 2) $count = 0;
}
Run Code Online (Sandbox Code Playgroud)
此外,这不起作用,因为你最终会得到这个:
item 1, item 4, item 7
item …Run Code Online (Sandbox Code Playgroud) 我正在为我的会话使用"文件存储".当我运行这个:
Session::set('awesomekey', 'myVal123');
Run Code Online (Sandbox Code Playgroud)
并刷新页面,我可以看到每次在/ storage/session中创建的新文件.我以为它每次都会更新同一个文件.这基本上意味着会话根本不起作用.换句话说,如果它不断重新创建会话文件,这永远不会起作用:
Session::get('awesomekey');
Run Code Online (Sandbox Code Playgroud)
或者至少,它返回一个空白.我错过了什么可能导致每次加载页面时都会创建一个新的会话密钥?
UPDATE
在进一步调查中,似乎在每次页面加载时重新生成cookie.可能导致什么?
我甚至都没有看着登录,所以这些信息对我来说毫无用处 - > http://willworkforbanjos.com/2014/02/laravel-sessions-not-working-in-4-1/
当我简单地将上面的set和get代码放在master.blade.php文件中时,我的问题就出现了.它应该设置它,存储信息,并在下次重新加载时从会话中获取正确的信息.但它不能,因为在重新加载时它将cookie更改为其他一些代码.
任何人都知道为什么会这样吗?
更新2
只是要明确我正在尝试做什么.我在HomeController.php中添加以下代码:
public function index()
{
Session::put('awesomekey', 'myVal123');
return View::make('home.index');
}
Run Code Online (Sandbox Code Playgroud)
然后我把它放在我的master.blade.php中:
print Session::get('awesomekey');
Run Code Online (Sandbox Code Playgroud)
我没有在代码的控制器端包含任何"die"或随机回声,除此之外.当我第一次打开文件时,我可以看到myVal123被打印出来.
然后我在控制器中取出这部分:
Session::put('awesomekey', 'myVal123');
Run Code Online (Sandbox Code Playgroud)
并重新加载页面.它现在什么都不打印.我可以在浏览器中看到cookie已更改.生成一个新的cookie将失去对会话的引用,所以我不知道每次都在理解它为什么这样做,即使它在第一次加载时保存了会话.
还有什么想法吗?
更新3
我也尝试过:
我真的在这里没有想法......
更新4
我去了SessionManager.php,就在这下面:
$ lifetime = $ this-> app ['config'] ['session.lifetime'];
我打印出了终身价值:
print $lifetime; die();
Run Code Online (Sandbox Code Playgroud)
这个代码从未在页面重新加载时被点击?!但是,在我的控制器中添加:
$d = Config::get('session.lifetime');
print $d;
Run Code Online (Sandbox Code Playgroud)
事实上,打印出我的终身价值.... :(