小编Ian*_*son的帖子

新的英国cookie法是否可以接受PHP会话?

我只是在寻找关于新的英国Cookie法以及它如何影响PHP会话的一些建议.我知道,当"严格必要"的cookie时,您不需要用户选择加入,并且给出的示例是将项目添加到购物车.

我正在使用类似的功能来记住您在联系表单中存储的内容,我认为这是完全必要的会话使用,因此不需要选择.

然而,我的困惑是因为我有一个session_start(); 在每个页面的顶部,这意味着cookie会立即设置.有些用户不会去使用联系表单,因此这意味着cookie对他们来说并不是绝对必要的.

我可以删除session_start(); 从每个页面的顶部开始,但是这个功能在许多网站中使用,如果我们可以将其保留下来,那将是更好的选择.

任何人都可以对此有所了解吗?

php cookies session-cookies

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

使用QUnit,Grunt和RequireJS进行单元测试

我试图让我的单元测试在Grunt中运行,当我在浏览器中执行我的索引文件时测试成功运行,但是当我用grunt qunit它运行测试时它无法识别任何测试.

我确信这取决于我执行测试的方式,例如我只包括:

<script>
test('Always Fail', function() {
    equal(5, 2, 'The return should be 2.');
});
</script>
Run Code Online (Sandbox Code Playgroud)

在我的index.html测试页面的头部,然后运行Grunt我可以看到此测试失败.但是我试图使用requireJS加载我的测试,正如我所说的那样在浏览器中工作.

我的index.html文件如下所示:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Unit Testing</title>
  <link rel="stylesheet" href="qunit/qunit.css">
  <script data-main="../unittests" src="../lib/require.js"></script>
  <script src="qunit/qunit.js"></script>
  <script>
    test('Always Fail', function() {
        equal(5, 2, 'The return should be 2.');
    });
  </script>
</head>
<body>
  <div id="qunit"></div>
  <div id="qunit-fixture"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我假设它是这条线:

<script data-main="../unittests" src="../lib/require.js"></script>
Run Code Online (Sandbox Code Playgroud)

这导致了问题而没有加载grunt.

我的unittests.js文件如下所示:

require.config({
  paths: {
      'QUnit': 'test/qunit/qunit'
  },
  shim: {
     'QUnit': {
         exports: 'QUnit',
         init: function() { …
Run Code Online (Sandbox Code Playgroud)

unit-testing qunit requirejs gruntjs

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

编写自定义 ngrx 运算符并返回源可观察类型

我有一个自定义运算符,waitFor我在我的效果中使用它,如下所示:

public effect$: Observable<Action> = createEffect(() => {
    return this.actions$.pipe(
      ofType(myAction),
      waitFor<ReturnType<typeof myAction>>([anotherAction]),
      ...etc
    );
  });
Run Code Online (Sandbox Code Playgroud)

它主要是查看correlationId,直到操作数组被调度后才继续执行。但这不是重点。

正如预期的那样ofType采用源可观察对象并将其用作返回类型,但是我正在努力实现相同的效果。正如您在上面看到的,我ReturnType<typeof myAction>>在我的waitFor方法中使用了以下内容:

export function waitFor<A extends Action>(actionsToWaitFor$: Array<Actions>): OperatorFunction<A, A> {
Run Code Online (Sandbox Code Playgroud)

所以目前如果我这样打电话waitFor

public effect$: Observable<Action> = createEffect(() => {
    return this.actions$.pipe(
      ofType(myAction),
      waitFor([anotherAction]),
      ...etc
    );
  });
Run Code Online (Sandbox Code Playgroud)

然后它的类型被推断为Action,但我希望这是ReturnType<typeof theSourceObservable>默认的。所以我假设我的方法中需要这样的东西waitFor

export function waitFor<A extends ReturnType<typeof sourceObservable?!>>(actionsToWaitFor$: Array<Actions>): OperatorFunction<A, A> {
Run Code Online (Sandbox Code Playgroud)

waitFor 看起来像这样:

export function waitFor<A extends Action>(actionsToWaitFor$: Array<Actions>): OperatorFunction<A, …
Run Code Online (Sandbox Code Playgroud)

oftype typescript ngrx angular

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

单元测试打字稿类型

我的模块之一中有以下导出:

export class Action1 implements Action {}

export class Action2 implements Action {}

export type ActionsUnion =
  | Action1
  | Action2;
Run Code Online (Sandbox Code Playgroud)

我正在尝试找出最好的测试方法,ActionsUnion以确保它是我定义的类型。例如:

it('should have the correct types', () => {
  expect(typeof Action1).toEqual(ActionsUnion);
  expect(typeof Action2).toEqual(ActionsUnion);
});
Run Code Online (Sandbox Code Playgroud)

当然,上面的方法不起作用,因为我用作ActionsUnion变量。关于如何实现上述目标有什么想法吗?

对于上下文,我使用 Angular、ngrx 和 jasmine。

jasmine typescript typescript-typings angular

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

ng test 要求我在运行任何单元测试之前修复所有 linting

我的输出ng test如下:

> ng test

24 12 2019 14:20:07.854:WARN [karma]: No captured browser, open http://localhost:9876/
24 12 2019 14:20:07.860:INFO [karma-server]: Karma v4.4.1 server started at http://0.0.0.0:9876/
24 12 2019 14:20:07.860:INFO [launcher]: Launching browsers ChromeNoSandbox with concurrency unlimited
24 12 2019 14:20:07.865:INFO [launcher]: Starting browser ChromeHeadless

app/shared/forms/templates/templates.component.ts:11:1 - error TS6133: 'MatDialog' is declared but its value is never read.

11 import { MatDialog } from '@angular/material';
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24 12 2019 14:20:11.633:INFO [HeadlessChrome 79.0.3945 (Mac OS X 10.15.2)]: Connected on …
Run Code Online (Sandbox Code Playgroud)

unit-testing typescript karma-jasmine tslint angular

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

如何单元测试Angular 2路由参数

假设我想简单地对一个组件进行单元测试,该组件采用从路径的一部分获取的参数.例如,我的组件的ngOnInit看起来像这样:

  ngOnInit() {
    this.route.parent.params.switchMap((params: Params) => this.service.getProject(params['projectId']))
      .subscribe((project: Project) => this.update(project));
  }
Run Code Online (Sandbox Code Playgroud)

我现在该怎么做:1:设置我的测试,以便组件创建工作,所以我可以单元测试其他部分

用回答编辑 - 示例ActivatedRouteStub应该使用也有可观察的params的父进行扩展,我应该使用useClass而不是useValue(忘了改回来):

@Injectable()
export class ActivatedRouteStub {

    // ActivatedRoute.params is Observable
    private subject = new BehaviorSubject(this.testParams);
    params = this.subject.asObservable();

    // Test parameters
    private _testParams: {};
    get testParams() { return this._testParams; }
    set testParams(params: {}) {
        this._testParams = params;
        this.subject.next(params);
    }

    // ActivatedRoute.snapshot.params
    get snapshot() {
        return { params: this.testParams };
    }
        // ActivatedRoute.parent.params
    get parent() {
        return { params: this.subject.asObservable() };
    }
}
Run Code Online (Sandbox Code Playgroud)

2:在我的UnitTest中为projectId提供一个值?

来自angular2文档的示例似乎不适用于switchMap,甚至根本不适用(我从那里使用过ActivatedRouteStub,但到目前为止没有运气 - …

angular2-routing angular2-testing angular

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

SVN Post Commit Hook部署网站

我已经阅读了一段时间并得到了一些答案,但我只需要一些帮助.

我正在尝试在将某个更改集提交到分支时自动部署网站,因此我从不同的分支发布了不同的版本.例如,有一个实时分支,无论何时更新,新的变更集都会合并到当前的实时网站中.

我的存储库(在Subversion版本控制系统上)与实时服务器位于同一服务器上,因此我需要做的就是将文件传输到不同的目录.

我知道我需要编辑repo/hooks/post-commit文件,我有这个工作,但是我不确定这个文件的内容是做我需要做的.

svn bash version-control svn-hooks

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

Joomla菜单不显示标题

我想知道是否有人可以提供帮助,我在我的模板中有这个代码:

<?php if ($this->countModules('quick_links_1')): ?>
    <jdoc:include type="modules" name="quick_links_1" />                        
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)

我还创建了一个菜单,我已将其分配给Joomla admin中的该位置,菜单显示正常.

在菜单配置中,我将"显示标题"设置为"显示"但是,它没有显示菜单标题.

有任何想法吗?另外,当我在这个主题上时,我找不到前端菜单的组件(比如com_content),我希望能够覆盖菜单的默认显示,这样我就可以添加一些额外的HTML.你能指出我正确的方向吗?

我正在使用Joomla 2.5.

谢谢,

伊恩

php joomla joomla-template joomla2.5

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

覆盖Joomla组件模板

我使用此URL访问组件的原始HTML:

/index.php?option=com_downloadform&tmpl=component
Run Code Online (Sandbox Code Playgroud)

但是它也返回文档类型,标题标签,头标签等.

有没有办法只返回<body>和之间的内容</body>

谢谢,

伊恩

php joomla joomla-template

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

在方法中的函数中引用CoffeeScript类中的"this"的最佳方法是什么?

希望这个问题有道理,最好的解释方法就是向你展示一个例子.我在CoffeeScript中创建了一个类,并且经常使用@在JS中表示"this",但是,在下面的示例中使用它的最佳方法是什么?目前我将@存储在该方法的局部变量中,我想知道是否有更好的方法

class app

constructor: ->
    # store @ or "this" in a new local var
    $this = @

    # do some stuff

    # Do some sort of jQuery stuff
    $(document).jquerystuff(->
        # do something that references this
        $this.anotherMethod()
    );
Run Code Online (Sandbox Code Playgroud)

javascript jquery coffeescript

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