小编Kum*_*nha的帖子

Symfony 控制器中的访问容器

我正在 Symfony 组件之上创建一个框架。 http://symfony.com/doc/2.7/create_framework/index.html

我想访问控制器中的容器,但我不确定如何以 OOP 方式进行操作。

我目前正在通过它访问它,global但我相信会有更好的方法来做同样的事情。请参考我的代码块:

#services.yml file
services:
  calendar.model.leapyear:
    class: Calendar\Model\LeapYear
Run Code Online (Sandbox Code Playgroud)

前端控制器文件

<?php

require_once __DIR__.'/../vendor/autoload.php';

use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing;
use Symfony\Component\HttpKernel;

$request = Request::createFromGlobals();
$routes = include __DIR__ . '/../src/routes.php';
$container = include __DIR__ . '/../src/app/Container.php';

$context = new Routing\RequestContext();
$matcher = new Routing\Matcher\UrlMatcher($routes, $context);

$controllerResolver = new HttpKernel\Controller\ControllerResolver();
$argumentResolver = new HttpKernel\Controller\ArgumentResolver();

$framework = new Framework($matcher, $controllerResolver, $argumentResolver);
$response = $framework->handle($request);

$response->send();
Run Code Online (Sandbox Code Playgroud)

闰年控制器文件

<?php


namespace Calendar\Controller;

use Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

class LeapYearController …
Run Code Online (Sandbox Code Playgroud)

php frameworks dependency-injection symfony di-containers

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

十进制数的二进制等效项中两个 1 之间的最大间隔

我想编写一个程序来找出十进制数的二进制等价物中两个 1 之间的最大差距。例如对于 100101:间隙为 2,对于 10101:间隙为 1。

<?php
$numberGiven = 251;
$binaryForm = decbin($numberGiven);

$status = false;
$count = 0;
for($i = 0; $i < strlen($binaryForm); $i++)
{
    var_dump($binaryForm[$i]);
    if($binaryForm[$i] == 1)
    {
        $status = false;
        $count = 0;
    }
    else
    {
        $status = true;
        $count += 1;
    }
}
echo "count = " . $count . "<br>";
echo $binaryForm;
?>
Run Code Online (Sandbox Code Playgroud)

但我没有成功..

php algorithm

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