小编pre*_*ldt的帖子

没有strrev的反向字符串

前一段时间在求职面试中,我得到了在使用PHP的情况下在PHP中反转字符串的任务strrev.

我的第一个解决方案是这样的:

$s = 'abcdefg';
$temp = '';
for ($i = 0, $length = mb_strlen($s); $i < $length; $i++) {
    $temp .= $s{$length - $i - 1};
}
var_dump($temp);
// outputs string(7) "gfedcba"
Run Code Online (Sandbox Code Playgroud)

然后他们问我是否可以在不增加内存使用量的情况下这样做(不使用$temp变量或任何变量来复制反转的字符串)并且我失败了.这一直困扰着我,从那时起我试图多次解决这个问题,但我经常失败.

我的最新尝试看起来像这样:

$s = 'abcdefg';
for ($i = 0, $length = mb_strlen($s); $i < $length; $i++) {
    $s = $s{$i * 2} . $s;
}
var_dump($s);
// outputs string(14) "gfedcbaabcdefg"
Run Code Online (Sandbox Code Playgroud)

它不是在循环之后切断"abcdefg"的解决方案,因为那时我仍然会使用的内存量增加一倍.我需要在循环的每次迭代中删除最后一个字符.

我试着mb_substr像这样使用:

$s = 'abcdefg';
for ($i …
Run Code Online (Sandbox Code Playgroud)

php string

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

Symfony2自定义密码编码器(bcrypt)

我编写了自己的密码编码器,它实现了PasswordEncoderInterface:

class BCryptPasswordEncoder implements PasswordEncoderInterface {
    protected $encoder;

    public function __construct(BCryptEncoder $encoder) {
        $this->encoder = $encoder;
    }

    public function encodePassword($raw, $salt) {
        return $this->encoder->encodeString($raw, $salt);
    }

    public function isPasswordValid($encoded, $raw, $salt) {
        return $this->encoder->encodeString($raw, $salt) == $encoded;
    }
}
Run Code Online (Sandbox Code Playgroud)

编码器注册为具有id的服务bcrypt.password.encoder.但我不知道,如何告诉symfony使用它.目前app/config/security.yml看起来像这样:

security:
    encoders:
        Symfony\Component\Security\Core\User\User: plaintext

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]

    providers:
        neo4j:
          id: security.user.provider.neo4j
    firewalls:
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false
        secured_area:
            provider: neo4j
            pattern:    ^/.*
            form_login:
                check_path: /login_check
                login_path: /login
            logout:
                path:   /logout …
Run Code Online (Sandbox Code Playgroud)

bcrypt symfony

13
推荐指数
2
解决办法
9224
查看次数

Symfony2自定义控制台命令无法正常工作

我在src/MaintenanceBundle/Command中创建了一个新类,将其命名为GreetCommand.php并将以下代码放入其中:

<?php

namespace SK2\MaintenanceBundle\Command;

use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;

class GreetCommand extends ContainerAwareCommand
{
    protected function configure()
    {
        $this
            ->setName('maintenance:greet')
            ->setDescription('Greet someone')
            ->addArgument('name', InputArgument::OPTIONAL, 'Who do you want to greet?')
            ->addOption('yell', null, InputOption::VALUE_NONE, 'If set, the task will yell in uppercase letters')
        ;
    }

    protected function execute(InputInterface $input, OutputInterface $output)
    {
        $name = $input->getArgument('name');
        if ($name) {
            $text = 'Hello '.$name;
        } else {
            $text = 'Hello';
        }

        if ($input->getOption('yell')) {
            $text = strtoupper($text);
        } …
Run Code Online (Sandbox Code Playgroud)

symfony

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

如何从Twig中的多维数组中获取值?

我的数组$ strs [$ key] [$ id]的var_dump给出了以下结果:

array(2) {
    [0]=> array(4) {
        [8259]=> string(8260) "ouvrir 1"
        [8260]=> string(8261) "fichier 2"
        [8261]=> string(8262) "quitter 1"
        [8262]=> string(8263) "lire 2"
    }
    [1]=> array(4) {
        [8259]=> string(8260) "lancer 2"
        [8260]=> string(8261) "dossier 1"
        [8261]=> string(8262) "exit 1"
        [8262]=> string(8263) "lire 2"
    }
}
Run Code Online (Sandbox Code Playgroud)

在我看来,我想要从所有$ key获得所有带有相同$ id的字符串.像这样:
1-
ouvrir 1
lancer 2
2-
fichier 2
lancer 2

等等

我在我的树枝视图中试过这个:

{% for key,val in strs['key']['id']  %}
    {% if strs['key']['id'] is defined %}
     {{ key }} - …
Run Code Online (Sandbox Code Playgroud)

symfony twig

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

Symfony2在创建服务之后但在控制器之前触发的事件

是否在创建自定义服务之后但在调用控制器操作之前触发了事件?

是否有Symfony2中所有事件的完整列表?

events symfony

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

使用ASP.Net从HTML发送电子邮件

我在VisualStudio2012 ASP.Net空网站模板中开发了一个使用HTML页面的网站.在我的网站上,我正在寻找联系我们页面,该页面将发送电子邮件.可以从.HTML PAGE使用ASP.Net发送电子邮件吗?

我知道从.ASPX页面发送电子邮件,其中可能包含ASP控件或使用ASP.Net的HTML控件.

我在这里寻找,仅从.HTML页面发送电子邮件.

更具体地说,我有一个sendemail()方法,我需要从.HTMl页面传递电子邮件地址和电子邮件内容.怎么可以实现?

提前致谢.

html c# asp.net email

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

标签 统计

symfony ×4

asp.net ×1

bcrypt ×1

c# ×1

email ×1

events ×1

html ×1

php ×1

string ×1

twig ×1