Re: [PHP-DEV] Re: VCS Account Request: noobshow

2019-08-26 Thread Olumide Samson
Hi internals@,
Figured I could contribute without the vcs account.

Request canceled.
Thanks,
Samson.

On Tue, Aug 20, 2019, 12:38 PM Olumide Samson  wrote:

> Hi internals@,
> I'm Olumide Samson, lead developer at Zapay Inc(a financial service
> provider).
>
> All of our backend codes are written majorly in PHP(which is a language
> i've been programming in since 2007) and C(since 2006) which i write
> advance sys-related programs in...
>
> I'm hoping i could contribute to PHP Core in various ways and help grow the
> Project alongside the Core Contributors we have in the Community.
>
> I've been working on the Core code while getting familiar with the Zend
> engine for over 3 weeks now, though i've commited few changes, and hoping
> to do more as the Project grows...
>
> I hope we all can make this project grow better.
>
> Thanks,
> Samson.
>


Re: [PHP-DEV] Re: Call for participation: Annotating internal function argument and return types

2019-08-26 Thread G. P. B.
On Mon, 26 Aug 2019 at 18:02, Ryan McCullagh  wrote:

> I would be happy to help annotate the functions from the extensions in the
> Missing list. One question. Should we be using the documentation as the
> source of truth for parameter types, and return values?
>
>
No, the documentation is at times out of sync or doesn't inform about
failure return types, the source of truth is the implementation of these
functions.

Best regards

George P. Banyard


Re: [PHP-DEV] Re: Call for participation: Annotating internal function argument and return types

2019-08-26 Thread Ryan McCullagh
I would be happy to help annotate the functions from the extensions in the 
Missing list. One question. Should we be using the documentation as the source 
of truth for parameter types, and return values?



On Mon, Aug 26, 2019, at 8:11 AM, Nikita Popov wrote:
> On Sat, Aug 10, 2019 at 12:56 PM Nikita Popov  wrote:
> 
> > Hi,
> >
> > Lack of type information for internal functions in Reflection is a
> > long-standing issue. In PHP 8 we finally have all the necessary technical
> > groundwork done to support argument and return type annotations on internal
> > functions at scale.
> >
> > The only thing left is to actually add those type annotations ... to many
> > hundreds of functions. This is something everyone can help with, as it does
> > not need expertise in C.
> >
> > I've opened a sample PR to show the process:
> > https://github.com/php/php-src/pull/4499
> >
> > Here, we take some existing arginfo structures in basic_functions.c and
> > convert them into stubs in basic_functions.stub.php. We can take the
> > argument names from the existing arginfo. To figure out the types, we need
> > to look at the implementation (the php.net documentation tends to lie
> > about details).
> >
> > For example, the first function, set_time_limit is defined in
> > https://github.com/php/php-src/blob/172c71980df0fe4c9d62c3365f0a2cdb139e3e86/main/main.c#L1501.
> > We see that it accepts an "l" parameter, which is an int. We see that it
> > uses RETVAL_TRUE and RETVAL_FALSE, which means the return value is a bool.
> >
> > Once this is done, we need to auto-generate new arginfo data. If you have
> > a development setup, this is done automatically when running "make".
> > Otherwise, it's possible to manually run "php scripts/dev/gen_stub.php
> > ext/standard/basic_functions.stub.php".
> >
> > Any help would be appreciated :)
> >
> > Regards,
> > Nikita
> >
> 
> Thanks everyone for your help with this project!
> 
> I think at this point we have about half of the extensions covered, here's
> a hopefully up to date list of the extensions that are done and those that
> are still missing stubs:
> 
> Complete:
> ext/bcmath
> ext/bz2
> ext/calendar
> ext/com_dotnet
> ext/ctype
> ext/curl
> ext/date
> ext/enchant
> ext/filter
> ext/ftp
> ext/gd
> ext/gettext
> ext/gmp
> ext/iconv
> ext/json
> ext/openssl
> ext/pcre
> ext/posix
> ext/readline
> ext/shmop
> ext/sqlite3
> ext/sysvmsg
> ext/sysvsem
> ext/sysvshm
> ext/tokenizer
> ext/zip
> ext/zlib
> 
> Pending PRs:
> ext/exif
> ext/fileinfo
> ext/ldap
> ext/session
> ext/simplexml
> 
> Incomplete:
> ext/standard
> 
> Missing:
> ext/dba
> ext/dom
> ext/ffi
> ext/hash
> ext/imap
> ext/intl
> ext/libxml
> ext/mbstring
> ext/mysqli
> ext/mysqlnd
> ext/oci8
> ext/odbc
> ext/opcache
> ext/pcntl
> ext/pdo
> ext/pdo_*
> ext/pgsql
> ext/phar
> ext/pspell
> ext/reflection
> ext/snmp
> ext/soap
> ext/sockets
> ext/sodium
> ext/spl
> ext/tidy
> ext/xml
> ext/xmlreader
> ext/xmlrpc
> ext/xmlwriter
> ext/xsl
> 
> Regards,
> Nikita
>


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-DEV] Re: Call for participation: Annotating internal function argument and return types

2019-08-26 Thread Nikita Popov
On Sat, Aug 10, 2019 at 12:56 PM Nikita Popov  wrote:

> Hi,
>
> Lack of type information for internal functions in Reflection is a
> long-standing issue. In PHP 8 we finally have all the necessary technical
> groundwork done to support argument and return type annotations on internal
> functions at scale.
>
> The only thing left is to actually add those type annotations ... to many
> hundreds of functions. This is something everyone can help with, as it does
> not need expertise in C.
>
> I've opened a sample PR to show the process:
> https://github.com/php/php-src/pull/4499
>
> Here, we take some existing arginfo structures in basic_functions.c and
> convert them into stubs in basic_functions.stub.php. We can take the
> argument names from the existing arginfo. To figure out the types, we need
> to look at the implementation (the php.net documentation tends to lie
> about details).
>
> For example, the first function, set_time_limit is defined in
> https://github.com/php/php-src/blob/172c71980df0fe4c9d62c3365f0a2cdb139e3e86/main/main.c#L1501.
> We see that it accepts an "l" parameter, which is an int. We see that it
> uses RETVAL_TRUE and RETVAL_FALSE, which means the return value is a bool.
>
> Once this is done, we need to auto-generate new arginfo data. If you have
> a development setup, this is done automatically when running "make".
> Otherwise, it's possible to manually run "php scripts/dev/gen_stub.php
> ext/standard/basic_functions.stub.php".
>
> Any help would be appreciated :)
>
> Regards,
> Nikita
>

Thanks everyone for your help with this project!

I think at this point we have about half of the extensions covered, here's
a hopefully up to date list of the extensions that are done and those that
are still missing stubs:

Complete:
ext/bcmath
ext/bz2
ext/calendar
ext/com_dotnet
ext/ctype
ext/curl
ext/date
ext/enchant
ext/filter
ext/ftp
ext/gd
ext/gettext
ext/gmp
ext/iconv
ext/json
ext/openssl
ext/pcre
ext/posix
ext/readline
ext/shmop
ext/sqlite3
ext/sysvmsg
ext/sysvsem
ext/sysvshm
ext/tokenizer
ext/zip
ext/zlib

Pending PRs:
ext/exif
ext/fileinfo
ext/ldap
ext/session
ext/simplexml

Incomplete:
ext/standard

Missing:
ext/dba
ext/dom
ext/ffi
ext/hash
ext/imap
ext/intl
ext/libxml
ext/mbstring
ext/mysqli
ext/mysqlnd
ext/oci8
ext/odbc
ext/opcache
ext/pcntl
ext/pdo
ext/pdo_*
ext/pgsql
ext/phar
ext/pspell
ext/reflection
ext/snmp
ext/soap
ext/sockets
ext/sodium
ext/spl
ext/tidy
ext/xml
ext/xmlreader
ext/xmlrpc
ext/xmlwriter
ext/xsl

Regards,
Nikita