Skip to content

Commit

Permalink
Move FTP extension class FTPConnection to FTP\Connection
Browse files Browse the repository at this point in the history
With the [namespaces in bundled extensions RFC](https://wiki.php.net/rfc/namespaces_in_bundled_extensions) passed, it is possible to rename the new `\FTPConnection` class to `\FTP` namespace.
This also adds the entry to `./UPGRADING` file.

Related: php#6925, php#5945
  • Loading branch information
Ayesh committed May 8, 2021
1 parent 05e6f3e commit 1b6fb92
Show file tree
Hide file tree
Showing 8 changed files with 124 additions and 114 deletions.
2 changes: 1 addition & 1 deletion NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ PHP NEWS
(Paulius Sapragonas)

- FTP:
. Convert resource<ftp> to object \FTPConnection. (Sara)
. Convert resource<ftp> to object \FTP\Connection. (Sara)

- GD:
. Convert resource<gd font> to object \GdFont. (Sara)
Expand Down
4 changes: 4 additions & 0 deletions UPGRADING
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@ PHP 8.1 UPGRADE NOTES
. The fileinfo functions now accept and return, respectively, finfo objects
instead of resources.

- FTP:
. The FTP functions now accept and return, respectively, FTP\Connection objects
instead of resources.

- IMAP:
. The IMAP functions now accept and return, respectively, IMAP\Connection objects
instead of resources.
Expand Down
84 changes: 45 additions & 39 deletions ext/ftp/ftp.stub.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,62 +2,68 @@

/** @generate-class-entries */

/** @strict-properties */
final class FTPConnection
{
namespace FTP {
/** @strict-properties */
final class Connection
{
}
}

function ftp_connect(string $hostname, int $port = 21, int $timeout = 90): FTPConnection|false {}
namespace {

function ftp_connect(string $hostname, int $port = 21, int $timeout = 90): FTP\Connection|false {}

#ifdef HAVE_FTP_SSL
function ftp_ssl_connect(string $hostname, int $port = 21, int $timeout = 90): FTPConnection|false {}
function ftp_ssl_connect(string $hostname, int $port = 21, int $timeout = 90): FTP\Connection|false {}
#endif

function ftp_login(FTPConnection $ftp, string $username, string $password): bool {}
function ftp_pwd(FTPConnection $ftp): string|false {}
function ftp_cdup(FTPConnection $ftp): bool {}
function ftp_chdir(FTPConnection $ftp, string $directory): bool {}
function ftp_exec(FTPConnection $ftp, string $command): bool {}
function ftp_raw(FTPConnection $ftp, string $command): array {}
function ftp_mkdir(FTPConnection $ftp, string $directory): string|false {}
function ftp_rmdir(FTPConnection $ftp, string $directory): bool {}
function ftp_chmod(FTPConnection $ftp, int $permissions, string $filename): int|false {}
function ftp_login(FTP\Connection $ftp, string $username, string $password): bool {}
function ftp_pwd(FTP\Connection $ftp): string|false {}
function ftp_cdup(FTP\Connection $ftp): bool {}
function ftp_chdir(FTP\Connection $ftp, string $directory): bool {}
function ftp_exec(FTP\Connection $ftp, string $command): bool {}
function ftp_raw(FTP\Connection $ftp, string $command): array {}
function ftp_mkdir(FTP\Connection $ftp, string $directory): string|false {}
function ftp_rmdir(FTP\Connection $ftp, string $directory): bool {}
function ftp_chmod(FTP\Connection $ftp, int $permissions, string $filename): int|false {}

/** @param string $response */
function ftp_alloc(FTPConnection $ftp, int $size, &$response = null): bool {}
function ftp_nlist(FTPConnection $ftp, string $directory): array|false {}
function ftp_rawlist(FTPConnection $ftp, string $directory, bool $recursive = false): array|false {}
function ftp_mlsd(FTPConnection $ftp, string $directory): array|false {}
function ftp_systype(FTPConnection $ftp): string|false {}
function ftp_alloc(FTP\Connection $ftp, int $size, &$response = null): bool {}
function ftp_nlist(FTP\Connection $ftp, string $directory): array|false {}
function ftp_rawlist(FTP\Connection $ftp, string $directory, bool $recursive = false): array|false {}
function ftp_mlsd(FTP\Connection $ftp, string $directory): array|false {}
function ftp_systype(FTP\Connection $ftp): string|false {}

/** @param resource $stream */
function ftp_fget(FTPConnection $ftp, $stream, string $remote_filename, int $mode = FTP_BINARY, int $offset = 0): bool {}
function ftp_fget(FTP\Connection $ftp, $stream, string $remote_filename, int $mode = FTP_BINARY, int $offset = 0): bool {}

/** @param resource $stream */
function ftp_nb_fget(FTPConnection $ftp, $stream, string $remote_filename, int $mode = FTP_BINARY, int $offset = 0): int {}
function ftp_pasv(FTPConnection $ftp, bool $enable): bool {}
function ftp_get(FTPConnection $ftp, string $local_filename, string $remote_filename, int $mode = FTP_BINARY, int $offset = 0): bool {}
function ftp_nb_get(FTPConnection $ftp, string $local_filename, string $remote_filename, int $mode = FTP_BINARY, int $offset = 0): int {}
function ftp_nb_continue(FTPConnection $ftp): int {}
function ftp_nb_fget(FTP\Connection $ftp, $stream, string $remote_filename, int $mode = FTP_BINARY, int $offset = 0): int {}
function ftp_pasv(FTP\Connection $ftp, bool $enable): bool {}
function ftp_get(FTP\Connection $ftp, string $local_filename, string $remote_filename, int $mode = FTP_BINARY, int $offset = 0): bool {}
function ftp_nb_get(FTP\Connection $ftp, string $local_filename, string $remote_filename, int $mode = FTP_BINARY, int $offset = 0): int {}
function ftp_nb_continue(FTP\Connection $ftp): int {}

/** @param resource $stream */
function ftp_fput(FTPConnection $ftp, string $remote_filename, $stream, int $mode = FTP_BINARY, int $offset = 0): bool {}
function ftp_fput(FTP\Connection $ftp, string $remote_filename, $stream, int $mode = FTP_BINARY, int $offset = 0): bool {}

/** @param resource $stream */
function ftp_nb_fput(FTPConnection $ftp, string $remote_filename, $stream, int $mode = FTP_BINARY, int $offset = 0): int {}
function ftp_put(FTPConnection $ftp, string $remote_filename, string $local_filename, int $mode = FTP_BINARY, int $offset = 0): bool {}
function ftp_append(FTPConnection $ftp, string $remote_filename, string $local_filename, int $mode = FTP_BINARY): bool {}
function ftp_nb_put(FTPConnection $ftp, string $remote_filename, string $local_filename, int $mode = FTP_BINARY, int $offset = 0): int|false {}
function ftp_size(FTPConnection $ftp, string $filename): int {}
function ftp_mdtm(FTPConnection $ftp, string $filename): int {}
function ftp_rename(FTPConnection $ftp, string $from, string $to): bool {}
function ftp_delete(FTPConnection $ftp, string $filename): bool {}
function ftp_site(FTPConnection $ftp, string $command): bool {}
function ftp_close(FTPConnection $ftp): bool {}
function ftp_nb_fput(FTP\Connection $ftp, string $remote_filename, $stream, int $mode = FTP_BINARY, int $offset = 0): int {}
function ftp_put(FTP\Connection $ftp, string $remote_filename, string $local_filename, int $mode = FTP_BINARY, int $offset = 0): bool {}
function ftp_append(FTP\Connection $ftp, string $remote_filename, string $local_filename, int $mode = FTP_BINARY): bool {}
function ftp_nb_put(FTP\Connection $ftp, string $remote_filename, string $local_filename, int $mode = FTP_BINARY, int $offset = 0): int|false {}
function ftp_size(FTP\Connection $ftp, string $filename): int {}
function ftp_mdtm(FTP\Connection $ftp, string $filename): int {}
function ftp_rename(FTP\Connection $ftp, string $from, string $to): bool {}
function ftp_delete(FTP\Connection $ftp, string $filename): bool {}
function ftp_site(FTP\Connection $ftp, string $command): bool {}
function ftp_close(FTP\Connection $ftp): bool {}

/** @alias ftp_close */
function ftp_quit(FTPConnection $ftp): bool {}
function ftp_quit(FTP\Connection $ftp): bool {}

/** @param int|bool $value */
function ftp_set_option(FTPConnection $ftp, int $option, $value): bool {}
function ftp_get_option(FTPConnection $ftp, int $option): int|bool {}
function ftp_set_option(FTP\Connection $ftp, int $option, $value): bool {}
function ftp_get_option(FTP\Connection $ftp, int $option): int|bool {}

}
66 changes: 33 additions & 33 deletions ext/ftp/ftp_arginfo.h
Original file line number Diff line number Diff line change
@@ -1,75 +1,75 @@
/* This is a generated file, edit the .stub.php file instead.
* Stub hash: db52e4b33562b93173c41d00f20e313553b173b4 */
* Stub hash: 0ea788bc7779d9c340b9fb3ad72fa0571df9341e */

ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ftp_connect, 0, 1, FTPConnection, MAY_BE_FALSE)
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ftp_connect, 0, 1, FTP\\Connection, MAY_BE_FALSE)
ZEND_ARG_TYPE_INFO(0, hostname, IS_STRING, 0)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, port, IS_LONG, 0, "21")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timeout, IS_LONG, 0, "90")
ZEND_END_ARG_INFO()

#if defined(HAVE_FTP_SSL)
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ftp_ssl_connect, 0, 1, FTPConnection, MAY_BE_FALSE)
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ftp_ssl_connect, 0, 1, FTP\\Connection, MAY_BE_FALSE)
ZEND_ARG_TYPE_INFO(0, hostname, IS_STRING, 0)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, port, IS_LONG, 0, "21")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timeout, IS_LONG, 0, "90")
ZEND_END_ARG_INFO()
#endif

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_login, 0, 3, _IS_BOOL, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, username, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ftp_pwd, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_cdup, 0, 1, _IS_BOOL, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_chdir, 0, 2, _IS_BOOL, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, directory, IS_STRING, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_exec, 0, 2, _IS_BOOL, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, command, IS_STRING, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_raw, 0, 2, IS_ARRAY, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, command, IS_STRING, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ftp_mkdir, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, directory, IS_STRING, 0)
ZEND_END_ARG_INFO()

#define arginfo_ftp_rmdir arginfo_ftp_chdir

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ftp_chmod, 0, 3, MAY_BE_LONG|MAY_BE_FALSE)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, permissions, IS_LONG, 0)
ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_alloc, 0, 2, _IS_BOOL, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, size, IS_LONG, 0)
ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, response, "null")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ftp_nlist, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, directory, IS_STRING, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ftp_rawlist, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, directory, IS_STRING, 0)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, recursive, _IS_BOOL, 0, "false")
ZEND_END_ARG_INFO()
Expand All @@ -79,100 +79,100 @@ ZEND_END_ARG_INFO()
#define arginfo_ftp_systype arginfo_ftp_pwd

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_fget, 0, 3, _IS_BOOL, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_INFO(0, stream)
ZEND_ARG_TYPE_INFO(0, remote_filename, IS_STRING, 0)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "FTP_BINARY")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, offset, IS_LONG, 0, "0")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_nb_fget, 0, 3, IS_LONG, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_INFO(0, stream)
ZEND_ARG_TYPE_INFO(0, remote_filename, IS_STRING, 0)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "FTP_BINARY")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, offset, IS_LONG, 0, "0")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_pasv, 0, 2, _IS_BOOL, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, enable, _IS_BOOL, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_get, 0, 3, _IS_BOOL, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, local_filename, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, remote_filename, IS_STRING, 0)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "FTP_BINARY")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, offset, IS_LONG, 0, "0")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_nb_get, 0, 3, IS_LONG, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, local_filename, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, remote_filename, IS_STRING, 0)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "FTP_BINARY")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, offset, IS_LONG, 0, "0")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_nb_continue, 0, 1, IS_LONG, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_fput, 0, 3, _IS_BOOL, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, remote_filename, IS_STRING, 0)
ZEND_ARG_INFO(0, stream)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "FTP_BINARY")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, offset, IS_LONG, 0, "0")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_nb_fput, 0, 3, IS_LONG, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, remote_filename, IS_STRING, 0)
ZEND_ARG_INFO(0, stream)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "FTP_BINARY")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, offset, IS_LONG, 0, "0")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_put, 0, 3, _IS_BOOL, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, remote_filename, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, local_filename, IS_STRING, 0)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "FTP_BINARY")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, offset, IS_LONG, 0, "0")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_append, 0, 3, _IS_BOOL, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, remote_filename, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, local_filename, IS_STRING, 0)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "FTP_BINARY")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ftp_nb_put, 0, 3, MAY_BE_LONG|MAY_BE_FALSE)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, remote_filename, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, local_filename, IS_STRING, 0)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "FTP_BINARY")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, offset, IS_LONG, 0, "0")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_size, 0, 2, IS_LONG, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
ZEND_END_ARG_INFO()

#define arginfo_ftp_mdtm arginfo_ftp_size

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_rename, 0, 3, _IS_BOOL, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, from, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, to, IS_STRING, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_delete, 0, 2, _IS_BOOL, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
ZEND_END_ARG_INFO()

Expand All @@ -183,13 +183,13 @@ ZEND_END_ARG_INFO()
#define arginfo_ftp_quit arginfo_ftp_cdup

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftp_set_option, 0, 3, _IS_BOOL, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
ZEND_ARG_INFO(0, value)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ftp_get_option, 0, 2, MAY_BE_LONG|MAY_BE_BOOL)
ZEND_ARG_OBJ_INFO(0, ftp, FTPConnection, 0)
ZEND_ARG_OBJ_INFO(0, ftp, FTP\\Connection, 0)
ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
ZEND_END_ARG_INFO()

Expand Down Expand Up @@ -276,15 +276,15 @@ static const zend_function_entry ext_functions[] = {
};


static const zend_function_entry class_FTPConnection_methods[] = {
static const zend_function_entry class_FTP_Connection_methods[] = {
ZEND_FE_END
};

static zend_class_entry *register_class_FTPConnection(void)
static zend_class_entry *register_class_FTP_Connection(void)
{
zend_class_entry ce, *class_entry;

INIT_CLASS_ENTRY(ce, "FTPConnection", class_FTPConnection_methods);
INIT_NS_CLASS_ENTRY(ce, "FTP", "Connection", class_FTP_Connection_methods);
class_entry = zend_register_internal_class_ex(&ce, NULL);
class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES;

Expand Down
6 changes: 3 additions & 3 deletions ext/ftp/php_ftp.c
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ static zend_object* ftp_object_create(zend_class_entry* ce) {
}

static zend_function *ftp_object_get_constructor(zend_object *zobj) {
zend_throw_error(NULL, "Cannot directly construct FTPConnection, use ftp_connect() or ftp_ssl_connect() instead");
zend_throw_error(NULL, "Cannot directly construct FTP\\Connection, use ftp_connect() or ftp_ssl_connect() instead");
return NULL;
}

Expand All @@ -108,7 +108,7 @@ PHP_MINIT_FUNCTION(ftp)
#endif
#endif

php_ftp_ce = register_class_FTPConnection();
php_ftp_ce = register_class_FTP_Connection();
php_ftp_ce->create_object = ftp_object_create;
php_ftp_ce->serialize = zend_class_serialize_deny;
php_ftp_ce->unserialize = zend_class_unserialize_deny;
Expand Down Expand Up @@ -229,7 +229,7 @@ PHP_FUNCTION(ftp_ssl_connect)
#define GET_FTPBUF(ftpbuf, zftp) \
ftpbuf = ftp_object_from_zend_object(Z_OBJ_P(zftp))->ftp; \
if (!ftpbuf) { \
zend_throw_exception(zend_ce_value_error, "FTPConnection is already closed", 0); \
zend_throw_exception(zend_ce_value_error, "FTP\\Connection is already closed", 0); \
RETURN_THROWS(); \
}

Expand Down
Loading

0 comments on commit 1b6fb92

Please sign in to comment.