我正在尝试解析一个包含参考数字的文档.
文字文本{4:2}更多令人难以置信的文字{4:3}后来{222:115}还有更多文字.
引用将始终包含在括号中,并且两者之间始终存在冒号.我写了一个表达式来找到它们.
{[0-9]:[0-9]}
Run Code Online (Sandbox Code Playgroud)
然而,当你遇到一个两位或三位数时,这显然是失败的,而我却无法弄清楚应该是什么.永远不会超过3位数{999:999}是要处理的最大尺寸.
有人想知道处理这个问题的正确表达方式吗?
我使用Solr下载附带的默认Jetty服务器在我的Ubuntu机器上运行了一个Solr实例.每当我开始使用Solr时
java -jar start.jar
服务器启动正常但总是抛出一个异常:
INFO: SolrDispatchFilter.init() done
Apr 12, 2012 2:01:56 PM org.apache.solr.common.SolrException log
SEVERE: org.apache.solr.common.SolrException: undefined field text
Run Code Online (Sandbox Code Playgroud)
正如我所说,服务器仍将启动,我可以看到Solr管理界面.我定义了我的架构如下.
<fields>
<field name="id" type="string" indexed="true" stored="true" />
<field name="phraseID" type="int" indexed="true" stored="true" />
<field name="translation" type="string" indexed="true" stored="true" />
</fields>
<uniqueKey>id</uniqueKey>
Run Code Online (Sandbox Code Playgroud)
我还能够执行JSON更新 - 我提交了一个被接受的示例数据数组.到目前为止,一切都很好.
当我尝试运行查询时:
http://localhost:8983/solr/select/?q=*:*&version=2.2&start=0&rows=10&indent=on
Run Code Online (Sandbox Code Playgroud)
它正确地返回我之前在示例中提交的所有数据.
但是,当我尝试使用文本查询时,我收到HTTP错误404.
http://localhost:8983/solr/select/?q=fruit&version=2.2&start=0&rows=10&indent=on
--- returns ---
HTTP ERROR 400
Problem accessing /solr/select/. Reason:
undefined field text
Powered by Jetty://
Run Code Online (Sandbox Code Playgroud) 我正在开发一个新的客户端专用应用程序,其中包含最新版本的Ember.js.有一个PHP页面可以构建脚本,css,模板文件等,并将它们全部传递到index.php中.我正在使用htaccess指令,以便将所有请求重写为/index.php.就我而言,PHP只是方便地打包Javascript.
目前,浏览器中的路由看起来像这样,工作得很好.
/#/about
/#/favorites
/#/etc
/#/posts/5/edit
Run Code Online (Sandbox Code Playgroud)
但是,我希望它们看起来像这样 - 这样做不行.
/about
/favorites
/etc
/posts/5/edit
Run Code Online (Sandbox Code Playgroud)
完全相同的客户端代码仍然与第二个选项一起提供 - 但它总是命中索引路由处理程序.我见过客户端应用程序之前已经解决了这个问题 - 我错过了什么?我需要在PHP端配备匹配的路由处理程序吗?
编辑:我正在寻找如何解决这个问题的具体答案.网络充满了"哦 - 你只是这样做"的信息,让其他人都摸不着头脑.
我正在尝试让PHPUnit在我的开发环境中运行,但是当我在脚本中包含PHPUnit时,我遇到了一些障碍.我知道我需要在PHP上设置include路径,但是我试过的每个组合都会失败,而编译器看不到PHPUnit_Framework_TestCase类.
我刚刚在PHP和PEAR上运行了更新,并且计算机上安装了PHPUnit,因为我可以通过命令行访问它.
PHPUnit安装在/ usr/share/php/PHPunit
梨在/ usr/share/php/PEAR
有什么我想念的吗?这是我第一次尝试使用PHPUnit甚至是PEAR的东西.我在Ubuntu 10.10上.任何帮助,将不胜感激.
编辑 - 我的PHP ini中的include路径中没有任何内容.现在代码就是这样
<?php
class Stacktest extends PHPUnit_Framework_TestCase
{
}
Run Code Online (Sandbox Code Playgroud)
我不知道要在include路径中包含什么或设置什么,因为对于关于PHPUnit的网络上的所有信息来说,这些一点点的信息都是严重缺失的.
我正在尝试使用PHP反射根据控制器方法中的参数类型自动动态加载模型的类文件.这是一个示例控制器方法.
<?php
class ExampleController
{
public function PostMaterial(SteelSlugModel $model)
{
//etc...
}
}
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所拥有的.
//Target the first parameter, as an example
$param = new ReflectionParameter(array('ExampleController', 'PostMaterial'), 0);
//Echo the type of the parameter
echo $param->getClass()->name;
Run Code Online (Sandbox Code Playgroud)
这是有效的,输出将是'SteelSlugModel',如预期的那样.但是,有可能模型的类文件可能尚未加载,并且使用getClass()要求定义类 - 为什么我这样做的一部分是自动加载控制器操作可能需要的任何模型.
有没有办法获取参数类型的名称,而无需先加载类文件?
我真的讨厌全局变量 - 也许它是我的C#程序员,但是当我在PHP工作时,每次我必须做这样的事情时我都会咬牙切齿:
$strUsername = $_GET['username'];
Run Code Online (Sandbox Code Playgroud)
是的,我非常过于简单化了,是的,我正确地清理了所有这些.事实上,对于我构建的框架,所有的超级全局都在执行开始时被抓取,并从那里开始依赖注入.
我在PHP手册中遇到了这个函数(你真的每天都学到新东西):filter_input_array().
所以现在,从技术上讲,我可以做到这一点,而不是从GET超全局中获取所有内容:
$GETdata = filter_input_array(INPUT_GET);
Run Code Online (Sandbox Code Playgroud)
....等等与其他人一样,如POST,REQUEST等.我的问题是:我应该使用filter_input_array,以避免超级全局的祸害,或者是否有某些理由坚持使用它们而忘记使用filter_input函数?其他人的经历是什么?
编辑:我忘记了一件事 - filter_input函数对你对超全局的任何脚本级修改都是盲目的,所以如果我这样做:稍后$_GET['cheese'] = 'puff';
尝试做filter_input(INPUT_GET, 'cheese');
会返回null.这很好,因为我依赖注入了所有东西,但如果他们不知道的话,它可能会让后来的人措手不及.
对于我的EmberJS应用程序,我预先编译了所有的把手模板,因此它们被加载为直接的Javascript文件.
问题是这些预编译的模板没有像我认为的那样进入Ember容器 - 当我为视图指定模板时,我收到以下错误.
Uncaught Error: assertion failed: You specified the templateName "application" for <MyApp.ApplicationView:ember164>, but it did not exist.
Run Code Online (Sandbox Code Playgroud)
这是我的观看代码.
window.MyApp.ApplicationView = Ember.View.extend({
templateName: 'application'
});
Run Code Online (Sandbox Code Playgroud)
我完成了执行,发现Ember容器中不存在视图.使用容器注册预编译模板时,我需要做些什么特别的事情吗?如果是这样,怎么样?
编辑:我一直在使用把手npm包编译模板.
我正在尝试在Ember.js中实现"分组依据"功能,并且证明比我原先想象的更难.
[{date: '2014-01-15T16:22:16-08:00', message: 'Tidal wave occurred'},
{date: '2014-01-15T05:00:16-08:00', message: 'Tornado destroyed town'},
{date: '2014-01-13T14:22:16-08:00', message: 'Volcanic eruption, likely'},
{date: '2014-01-13T16:24:16-08:00', message: 'Ice shelf calving off completely'},
{date: '2014-01-11T11:27:26-08:00', message: 'Mother-in-law visiting'}]
Run Code Online (Sandbox Code Playgroud)
我正在寻找类似于此的最终输出:
Today
----------
4:22 pm - Tidal wave occurred
5:00 am - Tornado destroyed town
Monday
----------
2:22 pm - Volcanic eruption, likely
...etc., etc.
Run Code Online (Sandbox Code Playgroud)
现在这个数据绑定到ArrayController.每个对象都有一个计算属性,以获得分组比较的"年/月/日".
var ActivityController = Em.ArrayController.extend({
groupedResults: function () {
var result = [];
//Iterate over each item in the list, but do what …
Run Code Online (Sandbox Code Playgroud) 我有一个Ember.js ArrayController和一个People模型.我正在尝试创建一个计算属性,用于生成人体重的平均值.看起来这应该相当容易,但我被卡住了.这是我的代码.
App.PeopleController = Ember.ArrayController.extend({
//each model in the array has a "weight" property
averageWeight: function() {
//I don't know what to do here
}.property('@each.weight')
});
Run Code Online (Sandbox Code Playgroud)
把手代码.
{{#each controller}}
{{name}}
{{/each}}
Average weight: {{weight}}
Run Code Online (Sandbox Code Playgroud) ember.js ×4
php ×3
javascript ×2
client-side ×1
lucene ×1
pear ×1
phpunit ×1
reflection ×1
regex ×1
solr ×1
superglobals ×1
unit-testing ×1
url-routing ×1