小编ame*_*iel的帖子

Slim Framework:路由和控制器

最初,我的Slim Framework应用程序具有经典结构

(的index.php)

<?php
$app = new \Slim\Slim();
$app->get('/hello/:name', function ($name) {
    echo "Hello, $name";
});
$app->run();
Run Code Online (Sandbox Code Playgroud)

但是当我添加更多路由和路由组时,我转向基于控制器的方法:

的index.php

<?php
$app = new \Slim\Slim();
$app->get('/hello/:name', 'HelloController::hello');
$app->run();
Run Code Online (Sandbox Code Playgroud)

HelloController.php

<?php
class HelloController {
    public static function hello($name) {
        echo "Hello, $name";
    }
}
Run Code Online (Sandbox Code Playgroud)

这是有效的,它有助于组织我的应用程序结构,同时让我为每个控制器方法构建单元测试.

但是,我不确定这是正确的方法.我觉得我在mount特殊的基础上嘲笑Silex的方法,这不可能是好的.在每个Controller方法中使用$ app上下文需要我使用\ Slim\Slim :: getInstance(),这似乎不如使用$ app那样有效.

那么......是否存在一种既能提高效率又能实现订单效率的解决方案,还是以路径/封闭梦魇为代价来提高效率?

php slim

3
推荐指数
1
解决办法
1万
查看次数

PostgreSQL,正则表达式以将文本字段与数字值匹配

我有一列文字类型,其中包含随机值。其中一些是数字,一些是其他文本,还有一些是其他混合文本和数字。我试图将它们区分为:

myfield   is_numeric
____________________
-4        true
0004      true
4.00      true
dog       false
D04       false
04f       false
Run Code Online (Sandbox Code Playgroud)

而其他是名称和其他字符串。我正在使用正则表达式

SELECT id,
       myfield 
       (myfield::varchar~ '^-?[0-9]*.?[0-9]*$') is_numeric 
FROM mytable
Run Code Online (Sandbox Code Playgroud)

告诉我们该行是否包含有效数字。但是,我注意到该正则表达式的like D0404creturn 值true,对于我的用例来说,是误报。

为什么会这样呢?似乎^不一定要匹配整个值,而是要匹配值的任何有效子串。但是,类似的值D04f的确会返回false,因此即使字段中存在数字子字符串,^and $运算符的组合也能完成其工作。

我暂时求助于:

SELECT id, 
       myfield
       (myfield::varchar ~ '^-?[0-9]*.?[0-9]*$' 
       AND myfield::varchar !~ '[^0-9\-\.]') is_numeric 
FROM mytable
Run Code Online (Sandbox Code Playgroud)

但这似乎是无效的(并且不排除双点),而且我仍然想知道为什么正则表达式正确地排除了以非数字字符开头和结尾的字符串,而对于仅包含结尾的字符串不正确地返回true或前导非数字字符。

regex postgresql

3
推荐指数
1
解决办法
5227
查看次数

Facebook应用程序授权回调URL

我正在创建一个Facebook应用程序,可以添加到Facebook粉丝页面作为自定义选项卡.在应用程序设置中,我可以看到"取消授权回调",当用户将应用程序从页面移除到指定的URL时,它会发送带有页面详细信息的签名请求.是否有选项可以指定授权回调URL,当用户首次将应用程序安装到页面时,该URL会接收包含页面详细信息的请求.

请帮忙.

提前致谢.

facebook facebook-graph-api

2
推荐指数
1
解决办法
2万
查看次数

如何重置忘记的 MySQL root 密码?

我一直在尝试重置 MySQL 的 root 密码。

我已经习惯了两种方法来重置。但我没有得到它。

以下步骤已完成,但对我不起作用:

方法一:

1) 停止运行 MySQL 服务并创建一个 mysql-init.txt 文件。mysql-init.txt 包含:

USE mysql;

UPDATE mysql.user SET Password=PASSWORD('vikash') WHERE User = 'root';

FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)

2)我打开了命令提示符并输入了以下内容:

C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld.exe --defaults-file="my.ini" --init-file="C:\\Users\\user-name\\Desktop\\mysql-init.txt" --console
Run Code Online (Sandbox Code Playgroud)

我得到的错误如下:

无法打开所需的默认文件:C:\Program Files\MySQL\MySQL Server 5.6\b in\my.ini

默认处理中的致命错误。程序中止

方法2:

I simply opened the command prompt and typed as follows:

C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqladmin -uroot -psample password
vikash

I got the error as:

Warning: Using a password on the command line interface can be insecure.
mysqladmin: connect …
Run Code Online (Sandbox Code Playgroud)

mysql

2
推荐指数
1
解决办法
1万
查看次数

在 Google 地图标记周围添加圆/半径

谁能帮我在我的谷歌地图标记周围添加一个圆/半径?

function   createMarker ( size, i,id,lat,lng,pin,title,counter,image,price,single_first_type,single_first_action,link,rooms,baths,cleanprice,single_first_type_name, single_first_action_name){


    var myLatLng = new google.maps.LatLng(lat,lng);


    var marker = new google.maps.Marker({
        position:           myLatLng,
        map:                map,
        icon:               custompin(pin),
        shape:              shape,
        title:              title,
        zIndex:             counter,
        image:              image,
        idul:               id,
        price:              price,
        category:           single_first_type,
        action:             single_first_action,
        link:               link,
        infoWindowIndex :   i,
        rooms:              rooms,
        baths:              baths,
        cleanprice:         cleanprice,
        size:               size,
        category_name:      single_first_type_name,
        action_name:        single_first_action_name
    });





    gmarkers.push(marker);
    bounds.extend(marker.getPosition());
    google.maps.event.addListener(marker, 'click', function(event) {

        //  new_open_close_map(1);

        map_callback( new_open_close_map );
        google.maps.event.trigger(map, 'resize');

        if(this.image===''){
            info_image='<img src="' + mapfunctions_vars.path + '/idxdefault.jpg" alt="image" />';
        }else{ …
Run Code Online (Sandbox Code Playgroud)

javascript geometry google-maps radius markers

1
推荐指数
1
解决办法
4214
查看次数

SQL join和count do net将它组合在一起

我是SQL的初学者,同时在加入和计数方面遇到了一些麻烦.首先让我解释一下我的两张桌子.我有以下内容:

   Table: AnalysePageview
          id       title     session      more
        -----------------------------------------------------
           1         a           10        0
           2         b           20        1
           3         c           30        1            
           4         d           40        1
           5         e           50        1
           6         f           60        0

    Table: AnalyseEvent
          id       name     session      more
        -----------------------------------------------------
           1         a           10        0
           2         b           10        1
           3         c           10        1            
           4         d           20        1
Run Code Online (Sandbox Code Playgroud)

我想加入这两个并添加这样一行:

    New Table:
          id       name       session   counts (out off AnalyseEvent)
        -----------------------------------------------------
           1         a           10        3
           2         b           20        1
           3         c           30        0            
           4         d …
Run Code Online (Sandbox Code Playgroud)

mysql sql join

0
推荐指数
1
解决办法
54
查看次数