小编all*_*ejo的帖子

@internal实际意味着什么以及如何使用它?

@internal在PHPDocs中使用时标记的含义是什么?它是如何工作的?我已阅读此标记的文档并获得此定义.

@internal标记用于表示关联的结构元素是此应用程序或库内部的元素.它也可以在长描述中用于插入仅适用于该软件开发人员的文本.

我得到了它的要点,但我不明白的是我将如何在项目中实际使用它?我已经阅读了这个例子,我的理解是标记为一个功能@internal意味着它意味着它被用作软件的一部分而不被外部的东西使用.例如,在PHP库中,如果函数被标记为@internal它不是库提供的公共API的一部分.

我的问题:

  • 我的理解是@internal正确的吗?如果没有,那么正确的用法是什么?
  • 如果我的理解正确的,为什么PhpStorm会删除我的@internal功能,暗示它们不打算被使用?我如何正确使用标记为@internal?的功能?

phpdoc phpstorm

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

从没有Twig过滤器的函数返回原始HTML

我有一个具有返回HTML的函数的类.

class MyParser {
    public function getHTML() {
        return '<a href="#">Hello World</a>';
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在我的Twig模板中,我使用raw过滤器输出文字HTML,而不是让Twig为我转义它:

{{ myParserInstance.HTML | raw }}
Run Code Online (Sandbox Code Playgroud)

有没有办法让函数(不是Twig过滤器或函数)返回原始HTML并呈现它?或者我将如何创建一个Twig过滤器或函数来为我无缝地执行此操作?

例如,我想要这样的东西:

{{ render(myParserInstance) }}
Run Code Online (Sandbox Code Playgroud)

相反,我希望能够使用HTML函数调用.这是完全可能还是我坚持使用Twig功能或使用| raw

php twig

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

如何在ARM程序集中正确创建数组?

我目前正在学习一个类的ARM程序集,并遇到了一个我需要使用"数组"的问题.我知道ARM中没有数组这样的东西所以我必须分配空间并将其视为一个数组.我有两个问题.

  1. 我是否正确地向数组添加新值,或者我只是覆盖了以前的值?如果我覆盖这些值,我该如何添加新值?
  2. 如何循环遍历数组的不同值?我知道我必须使用loop:但不知道如何使用它来访问不同的"索引".

到目前为止,这是我从阅读ARM文档中获得的,因为我从在线资源中收集了这些文档.

        .equ SWI_Exit,  0x11

        .text
        .global _start

_start: .global _start
        .global main

        b       main

main:
        ldr     R0, =MyArray
        mov     R1, #42
        str     R1, [R0], #4
        mov     R1, #43
        str     R1, [R0], #4
        swi     SWI_Exit

MyArray: .skip 20 * 4
        .end
Run Code Online (Sandbox Code Playgroud)

作为旁注,我正在按照我的教授的要求使用ARMSim#,因此GNU工具识别的一些命令将不会被ARMSim#识别,或者至少我相信是这种情况.如果我错了,请纠正我.

arrays assembly arm

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

使用 bzlib.h 在 C++ 中压缩 BZ2

我目前需要一些帮助来学习如何使用 bzlib.h 头文件。我想知道是否有人会这么好心帮助我在 C++ 中找出 compressToBZ2() 函数而不使用任何 Boost 库?

void compressBZ2(std::string file)
{
std::ifstream infile;
int fileDestination = infile.open(file.c_str());

char bz2Filename[] = "file.bz2";
FILE *bz2File = fopen(bz2Filename, "wb");
int bzError;
const int BLOCK_MULTIPLIER = 7;
BZFILE *myBZ = BZ2_bzWriteOpen(&bzError, bz2File, BLOCK_MULTIPLIER, 0, 0);

const int BUF_SIZE = 10000;
char* buf = new char[BUF_SIZE];
ssize_t bytesRead;

while ((bytesRead = read(fileDestination, buf, BUF_SIZE)) > 0)
{
    BZ2_bzWrite(&bzError, myBZ, buf, bytesRead);
}

BZ2_bzWriteClose(&bzError, myBZ, 0, NULL, NULL);

delete[] buf;
}
Run Code Online (Sandbox Code Playgroud)

我一直试图做的是使用这样的东西,但我没有运气。我正在尝试获取 …

c++ bzip2

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

GnuPGME:GPG 签名 C++

有没有人写过任何关于如何使用GnuPGME 的教程或文档,以便我能够编写gpgSign(std::string fileToBeSigned, std::string outPutFileName)C++ 等函数?

c++ function gnupg

5
推荐指数
2
解决办法
3606
查看次数

std::execution::sequenced_policy 有什么用?

我正在阅读 CPP-Concurrency-In-Action-2ed-2019 这本书。在10.2.2章节中,作者给出了一个简单的例子:

std::vector<int> v(1000);
int count=0;
std::for_each(std::execution::seq,v.begin(),v.end(),
  [&](int& x){ x=++count; });
Run Code Online (Sandbox Code Playgroud)

但是与下面的代码片段有什么区别

std::for_each(v.begin(),v.end(),
  [&](int& x){ x=++count; });
Run Code Online (Sandbox Code Playgroud)

后者不是std::execution::seq仍然按顺序存储计数吗?std::execution::sequenced_policy 有什么用?

c++ c++17

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

获取PHP网站的根URL

我目前正在开发一个PHP项目,我正在寻找一种方法来获取网站根目录的URL; 我在根目录下有一个配置文件,所以我正在考虑使用它来找出"基本URL".我正在寻找一种动态的方法,以便找到网站根目录的URL,即http://domain.com/my_app/.我正在尽力避免使用相对路径,并使用PHP生成我正在使用的任何URL.例如,我使用PHP生成CSS代码和CSS代码链接到图像,所以我想在这里获得绝对URL而不是相对路径.

my_app/
    admin/
        resources/
            css/
                admin-css.php
            imgs/
                login.png
    resources/
        css/
            css.php
        imgs/
            my-image.png
            shared-image.png
    config.php
Run Code Online (Sandbox Code Playgroud)

在我的resources/css/css.php文件中,我正在寻找获得"基本URL"所以我可以生成imgs文件夹的绝对URL,http://domain.com/resources/imgs/my-image.png但目前我正在获取,http://domain.com/resources/css/imgs/my-image.png因为下面的定义看到获取加载的PHP文件的目录,而不是包含的文件.我还想在文件夹之间共享图像(即shared-image.pngadmin文件夹访问文件),因此获取基本URL将是生成链接的理想选择.我避免相对路径的原因是因为我有一个创建URL的函数createURL(),所以我可以使所有的URL工作而无需硬编码任何东西.

<?php
DEFINE('HTTP_TYPE', $_SERVER['HTTP_X_FORWARDED_PROTO']);
DEFINE('HTTP_ROOT', $_SERVER['HTTP_HOST']);
DEFINE('HTTP_FOLDER', dirname($_SERVER['PHP_SELF']) . '/');
DEFINE('BASE_URL', HTTP_TYPE . "://" . HTTP_ROOT . HTTP_FOLDER);

function createURL($pathFromRoot)
{
    return BASE_URL . $pathFromRoot;
}
Run Code Online (Sandbox Code Playgroud)

所有这些定义都位于我的配置文件中,所以我认为最好的方法是获取配置文件的URL(http://domain.com/my_app/config.php)并删除"config.php".请记住,网站可以更深入地托管在文件夹结构中,也可以不托管在http://domain.com/my_app/another/folder/config.php子文件夹中http://domain.com/config.php.

这是可能的,如果可以的话怎么办呢?或者我应该遵循另一种方法吗?

php

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

标签 统计

c++ ×3

php ×2

arm ×1

arrays ×1

assembly ×1

bzip2 ×1

c++17 ×1

function ×1

gnupg ×1

phpdoc ×1

phpstorm ×1

twig ×1