小编Kim*_*nce的帖子

PHP Accessor函数和数组

在PHP中使用__set访问器函数我可以设置标量的值,但不能设置数组的元素.即:

$p->scalavar = "Hello";  // This works fine
$p->myarray['title'] = "Hello";  //This does not work
Run Code Online (Sandbox Code Playgroud)

我的访问者如下:

function __set($mbr_name, $mbr_value) {
    $this->$mbr_name = $mbr_value;
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

php

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

如何保留默认的Zend路由

我正在尝试设置有意义的URL,例如http://www.site.com/company/department,但它会破坏我在Controller/Action形状中的现有URL.

在我的bootstrap中,我按如下方式创建新路由:

$frontController = Zend_Controller_Front::getInstance();
$router = $frontController->getRouter();
$route = new Zend_Controller_Router_Route(":company/:dpt", array('controller'   => 'browse'));
$router->addRoute("browse", $route);
Run Code Online (Sandbox Code Playgroud)

当我浏览到http://www.site.com/ABC_Co/dry_goods时,它会将我路由到BrowseController中的IndexAction.大!问题是我的其他管理员相关的URL - 例如/ company/create等 - 也在那里指挥.

有没有办法让Zend首先进行默认的 Controller/Action匹配,并且只在失败时恢复到Browse路由?

谢谢!

zend-framework zend-route

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

PHP序列化对象方法吗?

PHP参考手册说,在序列化对象时,不会保存方法.(见http://www.php.net/manual/en/language.oop5.serialization.php,第1段).

但是,手册中给出的第一个示例显示了一个序列化的方法,然后进行了反序列化和使用.

这不是矛盾吗?我错过了什么吗?

php serialization

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

如何使用PHPUnit获得100%的代码覆盖率

我正在编写Zend Framework应用程序并使用PHPUnit对其进行单元测试.总的来说,事情正在顺利进行,但是我有一个小的,但烦人的PHPUnit和代码覆盖问题 - 它有时会告诉我一个特定的行没有经过测试,我不知道如何强制它进行测试.

例如,在下面的代码中,我启动了两个测试:一个带有GET请求,一个带有POST请求.测试通过,这一切都很好.但是,当我查看代码覆盖率时,它会向我显示"else"行未执行.

public function editAction()
{        
    if ($request->isPost()) {
        // do actions related to POST
    } else {
        // do action related to GET
    }
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?作为一个侧面问题,您通常坚持单元测试,直到您获得100%的代码覆盖率?或者这不是很实用吗?

非常感谢......

php phpunit unit-testing zend-framework

4
推荐指数
2
解决办法
3656
查看次数

Google Cloud SQL结算和免费配额的详细信息

我正在寻找Google Apps Engine来托管一个php应用程序,到目前为止它看起来都很好.

我不太清楚的一个领域是Google Cloud SQL.我已在此处阅读了所有定价信息,https://developers.google.com/cloud-sql/pricing,但我没有看到任何有关免费使用配额的信息.如果它不存在我会感到惊讶(因为你可以免费做其他所有事情 - 至少对于alpha和beta应用程序而言).

我错过了什么吗?是否有免费等级?它可能包含在Google Apps Engine免费配额中吗?(我在https://developers.google.com/cloud-sql/pricing中没有看到它...)

php google-app-engine google-cloud-datastore

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

Laravel:对于 Eloquent 关系方法,我应该坚持使用驼峰命名法吗?

Laravel 鼓励我们使用snake_case,例如first_name,作为模型属性名称。特别是,当使用蛇形大小写从类外部访问属性时,它会自动查找名为 getFirstNameAttribute 的访问器。

然而,当谈到模型关系时,使用驼峰式似乎更自然。例如,如果一个体育场有多个接入点,那么stadium该类可能有一个accessPoints()方法。我可以将此方法作为属性 ( $stadium->accessPoints)调用以检索访问点列表,也可以将其作为方法 ( $stadium->accessPoints())调用以获取基础查询构建器的实例。

这与我通常处理命名约定的方式不同。我通常会使用相同的大小写(snake_case 或camelCase)命名属性,而不管属性是如何实现的。

我现在正在着手一个大型的 Laravel 项目。我应该坚持使用两种不同的语法,还是我可能会后悔?

laravel eloquent

4
推荐指数
2
解决办法
8886
查看次数

Vue:如何在 tbody 中有条件地渲染 tr

我有一个包含多行的表体,例如:

<table>
<tbody>
<tr>...</tr>
<tr>...</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

我想有条件地组合 v-if 和 v-for,以有条件地呈现一个或多个附加行。Vue 手册上说要把 v-for 包裹在一个 v-if 中,如下:

<div v-if="team.positions != null">
    <my-row v-for="position in team.positions"
                :position="position"
                :key="position.id">
    </my-row>
</div>
Run Code Online (Sandbox Code Playgroud)

问题是我不能将 div 放在 tbody 或任何其他元素中。解决办法是什么?

vue.js

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

Laravel:如何限制对排队通知的重试

从 Laravel 手册中,我了解到我可以使用命令行(启动队列时)或通过设置$tries作业类本身的属性来限制重试排队作业的次数。 https://laravel.com/docs/5.6/queues#max-job-attempts-and-timeout

我想在作业本身中设置最大重试次数,而不是使用命令行,但是作业实际上是一个继承自 的自定义类 Illuminate\Notifications\Notification,而不是App\Job. 在这种情况下,是否可以限制尝试次数?

我尝试$tries在客户通知中设置该属性,但没有效果。我也在使用自定义频道,但设置$tries那里也没有效果。

laravel

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

如何 git merge,但不使用最新提交

我有一个master分支和一个develop分支。该develop分支已经提前了master大约 10 次提交,但客户批准的版本仅包括前 8 次提交。

如何仅合并前 8 个提交developmaster

通常我会这样做:

git checkout master
git merge develop
Run Code Online (Sandbox Code Playgroud)

但显然这会合并所有develop提交。

git git-merge

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

如何在 Laravel 中通过 VueJS 使用 Bootstrap 4 图标

我已根据此处的说明使用 NPM 将 Bootstrap 图标安装到 Laravel/VueJS 应用程序中,https://icons.getbootstrap.com/。你下一步怎么做?

如果我想在blade模板中使用svg元素,我需要使用webpack编译它吗?我是否将其导入到 css 文件中?

如何在单文件 VueJS 组件中使用它?

twitter-bootstrap laravel vue.js

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