1. Go to this page and download the library: Download php-stubs/generator library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
php-stubs / generator example snippets
// source-file-1.php
/**
* @param string $bar
* @return int
*/
function foo($bar)
{
return (int) $bar;
}
/** @var string */
$something = '123abc';
if ($something) {
echo foo($something);
}
// source-file-2.php
namespace MyNamespace;
class MyClass extends MyParentClass
{
public function method(): string
{
return '';
}
}
// stubs.php
namespace {
/**
* @param string $bar
* @return int
*/
function foo($bar)
{
}
/** @var string */
$something = '123abc';
}
namespace MyNamespace {
class MyClass extends MyParentClass
{
public function method(): string
{
}
}
}
// You'll need the Composer Autoloader.
nvenience.
use StubsGenerator\{StubsGenerator, Finder};
// First, instantiate a `StubsGenerator\StubsGenerator`.
$generator = new StubsGenerator();
// Then, create a `StubsGenerator\Finder` which contains
// the set of files you wish to generate stubs for.
$finder = Finder::create()->in('/path/to/my-library/');
// Now you may use the `StubsGenerator::generate()` method,
// which will return a `StubsGenerator\Result` instance.
$result = $generator->generate($finder);
// You can use the `Result` instance to pretty-print the stubs.
echo $result->prettyPrint();
// You can also use it to retrieve the PHP-Parser nodes
// that represent the generated stub declarations.
$stmts = $result->getStubStmts();
// This will only generate stubs for function declarations.
$generator = new StubsGenerator(StubsGenerator::FUNCTIONS);
// This will only generate stubs for class or interface declarations.
$generator = new StubsGenerator(StubsGenerator::CLASSES | StubsGenerator::INTERFACES);
bash
composer global
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.