Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perfect FunctionScanner class #1

Closed
3 tasks done
weierophinney opened this issue Dec 31, 2019 · 4 comments · Fixed by #58
Closed
3 tasks done

perfect FunctionScanner class #1

weierophinney opened this issue Dec 31, 2019 · 4 comments · Fixed by #58
Assignees
Labels
Enhancement Won't Fix This will not be worked on
Milestone

Comments

@weierophinney
Copy link
Member

  • Add FunctionScanner for the new feature.
  • Add tests for the new feature.
  • Add a CHANGELOG.md entry for the new feature.

Originally posted by @pifeifei at zendframework/zend-code#181

@weierophinney
Copy link
Member Author

Hey, all the scanners are generally to be avoided: consider using (and contributing to) roave/better-reflection instead


Originally posted by @Ocramius at zendframework/zend-code#181 (comment)

@weierophinney
Copy link
Member Author

Performance, which can be ignored temporarily

purpose

The code prompt file is generated automatically according to the ide-helper-generator I wrote. It's useful here to scanner

conceive

For PHP Extensions, such as swoole updates

Existing ide helper (v2.2.0)

<?php
    
/**
 * docblock and other
 */
class Server{
    /**
     * docblock and other
     * @param string $ip
     * @param int $port
     */
    public function __constuct($ip, $port);
}

/**
 * function docblock and other
 * @param string $ip
 * @param int $port
 */
function swoole_server($ip, $port);

Need to update to 4.x.x

function and class updating.

<?php
Swoole\Server::__construct(string $host, int $port = 0, int $mode = SWOOLE_PROCESS,$sock_type = SWOOLE_SOCK_TCP);
function swoole_server($ip, $port, $mode, $sock_type);

Desired result

Version updates inevitably have functions / class added, deprecated, deprecated, and existing comments combined to generate the latest version of ide-helper

<?php
    
/**
 * docblock and other
 */
class Server{
    /**
     * docblock and other
     * @param string $ip
     * @param int $port
     * Some parameters are not, and need to be processed manually.
     */
    public function __constuct(
        string $host, 
        int $port = 0,
        int $mode = SWOOLE_PROCESS,
        $sock_type = SWOOLE_SOCK_TCP
    );
}

/**
 * function docblock and other
 * @param string $ip
 * @param int $port
 */
function swoole_server($ip, $port, $mode, $sock_type);

Here you need to use classScanner and FunctionScanner.

The actual situation

One day I need to use ftp to update the html files of different servers, because the server has an intranet IP, using the passive mode, the upload fails all the time, and various searches on the Internet have not found a suitable one. I didn't find it, and finally found php bug # 55651. I need a parameter FTP_USEPASVADDRESS to solve the problem instantly. Then I went through the documentation and finally found this parameter in the English page.

Chinese Version:no FTP_USEPASVADDRESS

English original:Have FTP_USEPASVADDRESS

If you have the latest code prompt, type FTP_ and you will be prompted accordingly. There is no need to work hard to find a solution.

Of course, this is official and there is help documentation, so using your own development php extension, or niche php extension, ide-helper automatic generation will be very convenient. You don't need to check the git log to improve the document, although I will not develop PHP at this time. Expansion.

Conclusion: I have a limited level of English, and I am learning English in order to see the original English documents. These are also translated with Google. Please forgive me if there are errors.


Originally posted by @pifeifei at zendframework/zend-code#181 (comment)

@weierophinney
Copy link
Member Author

The FunctionGenerator class is also added to see if it is needed.
at master branch: https://github.com/pifeifei/zend-code.git


Originally posted by @pifeifei at zendframework/zend-code#181 (comment)

@Ocramius
Copy link
Member

No longer needed as per #58

@Ocramius Ocramius self-assigned this Nov 30, 2020
@Ocramius Ocramius added Enhancement Won't Fix This will not be worked on labels Nov 30, 2020
@Ocramius Ocramius added this to the 4.0.0 milestone Nov 30, 2020
mtorromeo added a commit to mtorromeo/laminas-code that referenced this issue Dec 14, 2021
`DocScanner` may raise the following error with PHP 8.1 if `shortDescription` is used before initialization, the default value being `null`:

```
Deprecated: "trim(): Passing null to parameter laminas#1 ($string) of type string is deprecated"
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement Won't Fix This will not be worked on
Projects
None yet
2 participants