zephir-lang / zephir

Zephir is a compiled high-level language aimed to ease the creation of C-extensions for PHP
https://zephir-lang.com
MIT License
3.29k stars 466 forks source link

Compile Type Hints? #1656

Closed danhunsaker closed 6 years ago

danhunsaker commented 6 years ago

PHP has supported type hinting function arguments for some time, now, and Zend Engine has supported the same hints in extensions for just as long. Zephir has implemented support for the non-scalar types supported in PHP 5.x, and these work fine. But it currently doesn't export scalar or return type hints (supported since PHP 7.0) at all, so userspace classes that extend or implement extension classes or interfaces need to do so without the appropriate type hinting one would expect to see, there.

I've already started work on adding these type hints to the compiled output, and it appears to be working as expected. That said, there's one point in particular where things get tricky, and that's with strict typing of arguments. PHP will automatically use argument type hints to coerce values to the expected type, from whatever type they happen to be, according to its normal type conversion rules/logic. That means every value passed in to a Zephir function/method will always pass the strictness tests we currently compile, and we'll therefore never be able to catch attempts to pass in the wrong type - even if PHP can't coerce the value itself, it'll fail before we ever see it. Currently the only way to disable this coercion is to declare(strict_types=1) in every file that calls into a Zephir extension, and even then PHP handles rejecting the values before Zephir even sees them.

The purpose of this issue (#1656) is twofold. One, I'm wondering how users would expect this feature to work when building extensions with type hinted function/method arguments. And two, I'm reaching out to see if anyone else can think of a way to work around the automatic coercion of PHP to restore the current strict argument typing support, or possibly redesign the strict argument typing feature to work around PHP.

Is it even desired to export these type hints to Zend and PHP? If so, would it be acceptable to omit them when strict typing is desired (that is, not tell PHP what the types are expected to be, so Zephir can reject them rather than allow them to be converted)? Assuming we want such hints, but aren't willing to leave them out for strict types, we'll need to figure out how to get PHP to tell us what type was originally passed to us, if not how to make it simply pass the original value itself.

I've mentioned this a couple of times in the Phalcon Discord server's #zephir channel, but it doesn't seem to see much activity, so I thought I'd post something more detailed here for review and discussion.

sergeyklay commented 6 years ago

/cc @phalcon/zephir-team

niden commented 6 years ago

I am by no means an expert in C and how PHP internals work, so thank you for this explanation!

It is unfortunate that this automatic coercion happens, I would have loved this not to be the case.

However I think we can leave this as is and ensuring that whoever wants strict types, will have to use declare(strict_types=1) at the top of their PHP file.

Is it even desired to export these type hints to Zend and PHP? If so, would it be acceptable to omit them when strict typing is desired (that is, not tell PHP what the types are expected to be, so Zephir can reject them rather than allow them to be converted)? Assuming we want such hints, but aren't willing to leave them out for strict types, we'll need to figure out how to get PHP to tell us what type was originally passed to us, if not how to make it simply pass the original value itself.

I think that would be great to export the type hints to Zephir and PHP and follow your suggestion to reject them etc. Sadly I don't really know how to do what you suggested but that is my 2 cents.

sergeyklay commented 6 years ago

Hello @danhunsaker,

Thank you for raising this issue. Sorry it took this long.

The meaning of export is too extensive. First I want to understand exactly what do you mean saying zephir export something. I'm afraid that your opinion about the whole language results from using specific tools for your tasks. For example, the zephir stubs (the IDE stubs generation tool) command could lead you up the path. Could you please elaborate on that.

Also I want to say you that we have an old branch where we (@andresgutierrez) started work on strict type hinting: https://github.com/phalcon/zephir/tree/strict-type-hints. So you can get some ideas from it. Additionally, I'd like to see in such fundamental issues some code examples, like "this is how it works currently..." and "this is how it could work ....". Unfortunately, we can't give you the correct feedback without your code examples or/and prototypes (what you expect to get as a result).

Answering your first question, I'd like to say that actually there are at least three patterns to create programs using Zephir. Right now you can use:

public function hello (name) -> string {
    return "Hello " . name;
}

or

public function hello (string name) -> string {
    return "Hello " . name;
}

or even

public function hello (string! name) -> string {
    return "Hello " . name;
}

Take a look at last example. I used the strict type hinting here. It works for now. Zephir will throw an exception if passed type does not match expected type. The developer would see (most likely) this error on compiling time. Please note, I'd like the developers to have the possibility to use generics in case of demand. I'd like to show you one more example which vividly demonstrates the feature that is still absent in PHP but present in Zephir for many years:

public function hello (string! name) -> string {
    var eventsManager, dependencyInjector;

    let eventsManager = <ManagerInterface> this->eventsManager;
    let dependencyInjector = <DiInterface> this->getDI();

    // ...
    return "Hello " . name;
}

Please note we hint the compiler of the expected data types. Should we design the feature to cast (automatic coerce) some type to the desired? I'm no sure. Zephir still does not have all features we want to see in it. Partially this is so because we don't develop Zephir for the full working day.

May be we should hurry up with Zephir frontend refactoring (that is to rewrite it from PHP to C++ or Rust) (https://github.com/zephir-lang/zephir/issues/1). I'm planning to move the greater part of the language to the shared library (https://github.com/zephir-lang/libzephir). This would allow us to integrate Zephir into many third party applications, e.g. IDEs and Language Servers.

So, as you can see there are a much of important work. And what you are proposing is too abstract for me. Try to explain the issue more specifically, maybe on a concrete example. I'm sorry, frankly speaking I don't understand the problem now.

/cc @nevernet, @lividgreen, @AlexNDRmac

danhunsaker commented 6 years ago

I'll use your examples and try to explain from there.

The proposed feature I've been building uses ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX, when applicable, to tell PHP this method returns a string in all three of these cases:

public function hello (name) -> string {
    return "Hello " . name;
}

It then, additionally, uses ZEND_ARG_TYPE_INFO to tell PHP this method expects a string argument in this case:

public function hello (string name) -> string {
    return "Hello " . name;
}

The current issue comes along in this case:

public function hello (string! name) -> string {
    return "Hello " . name;
}

Should we still use ZEND_ARG_TYPE_INFO in this case? If we do, PHP will automatically cast the input to a string before we even see it, making the ! irrelevant, as the code Zephir generates will never actually receive anything other than a string value. To illustrate this another way, here's the result of running the current test suite against my new feature branch:

There were 6 failures:

1) Extension\MCallTest::testOptionalParameterBooleanException
Failed asserting that exception of type "\InvalidArgumentException" is thrown.

2) Extension\Oo\OoParamsTest::testSetStrictAgeException1
Failed asserting that exception of type "\InvalidArgumentException" is thrown.

3) Extension\Oo\OoParamsTest::testSetStrictAgeException2
Failed asserting that exception of type "\InvalidArgumentException" is thrown.

4) Extension\Oo\OoParamsTest::testSetStrictAverageException1
Failed asserting that exception of type "\InvalidArgumentException" is thrown.

5) Extension\Oo\OoParamsTest::testSetStrictAverageException2
Failed asserting that exception of type "\InvalidArgumentException" is thrown.

6) Extension\Oo\OoParamsTest::testSetStrictNameException
Failed asserting that exception of type "\InvalidArgumentException" is thrown.

If we don't use ZEND_ARG_TYPE_INFO, however, then users won't be able to extend the class with something like the following:

public function hello(string $name): string {
    return parent::hello($name) . ", how are you?";
}

In this case, PHP complains that method hello(string $name): string needs to match the signature of hello($name): string. Which is the specific issue I'm hoping to resolve by adding these type hints in the first place: I want my child classes in PHP to properly specify what types they support for arguments and return values. At the moment, I have to use hello($name) as the full signature, rather than hello(string $name): string as I'd prefer.

Anyway, as far as this issue is concerned, the problem is in how to handle Zephir's strictly typed method arguments. Using ZEND_ARG_TYPE_INFO lets child classes specify they want string values to be passed in, but also lets PHP automatically cast other values to strings before Zephir ever sees them, preventing the strictness checks from actually doing anything. Hopefully that makes things clearer?

sergeyklay commented 6 years ago

Got it :) Well, we can drop any old macro of course. Many of the things we use were chosen solely because of compatibility with Zend Engine 2.x. But as you know we plan to drop support of PHP 5. So yes, we can improve type control through the introduction of specialized ZE macros. This work should lead to the release of the major version. I'm still not sure about Zephir 1.0.0 but anyway we should get rid of PHP 5.x. Could you send PR so that we can review proposed approach and tests?

danhunsaker commented 6 years ago

I see I wasn't quite clear enough. ZEND_ARG_TYPE_INFO is what I'm adding in my proposed feature (#1658), because it's not already in place.

The question here is whether to use ZEND_ARG_TYPE_INFO when the Zephir type is strict, allowing PHP to coerce the value to the desired type just as it would with a non-strict type hint? Or to continue to use ZEND_ARG_INFO instead, for strict types, so that PHP doesn't see the type hint at all, but Zephir gets the original value in its original type, and can handle it as it currently does?

Or am I misunderstanding you, now, and you're saying that Zephir's strict argument types are only intended to provide strict typing for PHP 5, so we don't actually need to treat them any differently than non-strict types in PHP 7?

sergeyklay commented 6 years ago

Right now there is Zephir's type checking with using the ! sign. We can completely rely on ZE type checking with using PHP >= 7.0. But note, in this case we'll may need to drop our type checking to avoid doing this work twice. There are also some types like uint, ulong, char, etc which do not exist in ZE, so we'll need to sort out with these types. I'm not against the introduction any ZE3 macros to avoid redundant or not obvious behavior in Zephir or to provide strict type checking in userspace. But I would not like to lose the possibility to have functions strict to their types directly in Zephir. Let's imagine that we call one function from another directly in Zephir.

Can we have something like this:

  1. Using ZEND_ARG_INFO.

    public function hello (name) -> string
  2. Using ZEND_ARG_TYPE_INFO allowing PHP to coerce the value to the desired type. Also note, in this case Zephir already tries to coerce the value to the desired type.

    public function hello (string name) -> string
  3. Using ZEND_ARG_TYPE_INFO allowing PHP to coerce the value to the desired type, but we should still receive an exception here in case of type mismatches. We can throw an exception on our own as we did this before, or allow to throw an exception the Zend Engine.

    public function hello (string! name) -> string
Jurigag commented 6 years ago

Well i think if we could use something from PHP CORE - then let's use it, less chances that something will go wrong. But still, other features which zephir are offering but are absent in PHP are still nice addition.

danhunsaker commented 6 years ago

OK, so I'll have Zephir use ZEND_ARG_TYPE_INFO for strict types as well as regular ones, and leave everything else alone so that Zephir can still handle strictness for Zephir-to-Zephir calls.

At the moment, I have it telling PHP that a value IS_LONG when it's an int-compatible type, IS_DOUBLE for double-compatible types, etc, so that's how we're handling types that aren't in ZE.

I'll need to adjust the tests to account for the new type handling, but I do think it'll be a backwards-incompatible change, so we may want to bump the version up to 0.11 once it's merged.

danhunsaker commented 6 years ago

All tests passing, so looks good. Unless there are further comments/objections, I think we can merge that and close this. :slightly_smiling_face:

sergeyklay commented 6 years ago

@danhunsaker I just compiled current Phalcon using commands from the phalcon/cphalcon project root as follows:

zephir fullclean
zephir generate
cd ./build
./install

PHP version PHP 7.2.1 (cli) (built: Feb 8 2018 17:01:26) ( NTS DEBUG ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.2.1, Copyright (c) 1999-2017, by Zend Technologies with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans

Phalcon version The 3.4.x branch Git Commit 3513faca14fa4d8e2e0f5f0650fa842b827f679a

Zephir version The development branch Git Commit: 1e930a53f015561b05914714bd691f5601f75343

So something went wrong:

$ php -v
PHP Fatal error:  Declaration of Phalcon\Forms\Element::getAttribute(string $attribute, $defaultValue = NULL) must be compatible with Phalcon\Forms\ElementInterface::getAttribute($attribute, $defaultValue = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Forms\Element::getAttribute(string $attribute, $defaultValue = NULL) must be compatible with Phalcon\Forms\ElementInterface::getAttribute($attribute, $defaultValue = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Forms\Element::clear(): Phalcon\Forms\Element must be compatible with Phalcon\Forms\ElementInterface::clear(): Phalcon\Forms\ElementInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Forms\Element::clear(): Phalcon\Forms\Element must be compatible with Phalcon\Forms\ElementInterface::clear(): Phalcon\Forms\ElementInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend::stop(?bool $stopBuffer = NULL) must be compatible with Phalcon\Cache\BackendInterface::stop($stopBuffer = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend::stop(?bool $stopBuffer = NULL) must be compatible with Phalcon\Cache\BackendInterface::stop($stopBuffer = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData::readMetaDataIndex(Phalcon\Mvc\ModelInterface $model, int $index) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::readMetaDataIndex(Phalcon\Mvc\ModelInterface $model, $index) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData::readMetaDataIndex(Phalcon\Mvc\ModelInterface $model, int $index) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::readMetaDataIndex(Phalcon\Mvc\ModelInterface $model, $index) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData::writeMetaDataIndex(Phalcon\Mvc\ModelInterface $model, int $index, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::writeMetaDataIndex(Phalcon\Mvc\ModelInterface $model, $index, $data) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData::writeMetaDataIndex(Phalcon\Mvc\ModelInterface $model, int $index, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::writeMetaDataIndex(Phalcon\Mvc\ModelInterface $model, $index, $data) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData::readColumnMapIndex(Phalcon\Mvc\ModelInterface $model, int $index) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::readColumnMapIndex(Phalcon\Mvc\ModelInterface $model, $index) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData::readColumnMapIndex(Phalcon\Mvc\ModelInterface $model, int $index) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::readColumnMapIndex(Phalcon\Mvc\ModelInterface $model, $index) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Db\Adapter::limit(string $sqlQuery, int $number): string must be compatible with Phalcon\Db\AdapterInterface::limit($sqlQuery, $number) in Unknown on line 0

Fatal error: Declaration of Phalcon\Db\Adapter::limit(string $sqlQuery, int $number): string must be compatible with Phalcon\Db\AdapterInterface::limit($sqlQuery, $number) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Db\Adapter::createView(string $viewName, array $definition, $schemaName = NULL): bool must be compatible with Phalcon\Db\AdapterInterface::createView(string $viewName, array $definition, ?string $schemaName = NULL): bool in Unknown on line 0

Fatal error: Declaration of Phalcon\Db\Adapter::createView(string $viewName, array $definition, $schemaName = NULL): bool must be compatible with Phalcon\Db\AdapterInterface::createView(string $viewName, array $definition, ?string $schemaName = NULL): bool in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Db\Adapter::describeIndexes(string $table, $schema = NULL): Phalcon\Db\Index must be compatible with Phalcon\Db\AdapterInterface::describeIndexes(string $table, ?string $schema = NULL): Phalcon\Db\IndexInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Db\Adapter::describeIndexes(string $table, $schema = NULL): Phalcon\Db\Index must be compatible with Phalcon\Db\AdapterInterface::describeIndexes(string $table, ?string $schema = NULL): Phalcon\Db\IndexInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Db\Adapter::describeReferences(string $table, ?string $schema = NULL): Phalcon\Db\Reference must be compatible with Phalcon\Db\AdapterInterface::describeReferences(string $table, ?string $schema = NULL): Phalcon\Db\ReferenceInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Db\Adapter::describeReferences(string $table, ?string $schema = NULL): Phalcon\Db\Reference must be compatible with Phalcon\Db\AdapterInterface::describeReferences(string $table, ?string $schema = NULL): Phalcon\Db\ReferenceInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Session\Adapter::regenerateId(?bool $deleteOldSession = NULL): Phalcon\Session\Adapter must be compatible with Phalcon\Session\AdapterInterface::regenerateId(?bool $deleteOldSession = NULL): Phalcon\Session\AdapterInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Session\Adapter::regenerateId(?bool $deleteOldSession = NULL): Phalcon\Session\Adapter must be compatible with Phalcon\Session\AdapterInterface::regenerateId(?bool $deleteOldSession = NULL): Phalcon\Session\AdapterInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Assets\Inline::setType(string $type): Phalcon\Assets\Inline must be compatible with Phalcon\Assets\ResourceInterface::setType(string $type): Phalcon\Assets\ResourceInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Assets\Inline::setType(string $type): Phalcon\Assets\Inline must be compatible with Phalcon\Assets\ResourceInterface::setType(string $type): Phalcon\Assets\ResourceInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Assets\Inline::getType() must be compatible with Phalcon\Assets\ResourceInterface::getType(): string in Unknown on line 0

Fatal error: Declaration of Phalcon\Assets\Inline::getType() must be compatible with Phalcon\Assets\ResourceInterface::getType(): string in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Assets\Inline::setFilter(bool $filter): Phalcon\Assets\Inline must be compatible with Phalcon\Assets\ResourceInterface::setFilter(bool $filter): Phalcon\Assets\ResourceInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Assets\Inline::setFilter(bool $filter): Phalcon\Assets\Inline must be compatible with Phalcon\Assets\ResourceInterface::setFilter(bool $filter): Phalcon\Assets\ResourceInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Assets\Inline::getFilter() must be compatible with Phalcon\Assets\ResourceInterface::getFilter(): bool in Unknown on line 0

Fatal error: Declaration of Phalcon\Assets\Inline::getFilter() must be compatible with Phalcon\Assets\ResourceInterface::getFilter(): bool in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Assets\Inline::setAttributes(array $attributes): Phalcon\Assets\Inline must be compatible with Phalcon\Assets\ResourceInterface::setAttributes(array $attributes): Phalcon\Assets\ResourceInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Assets\Inline::setAttributes(array $attributes): Phalcon\Assets\Inline must be compatible with Phalcon\Assets\ResourceInterface::setAttributes(array $attributes): Phalcon\Assets\ResourceInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Assets\Inline::getAttributes() must be compatible with Phalcon\Assets\ResourceInterface::getAttributes(): ?null in Unknown on line 0

Fatal error: Declaration of Phalcon\Assets\Inline::getAttributes() must be compatible with Phalcon\Assets\ResourceInterface::getAttributes(): ?null in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Assets\Resource::setType(string $type): Phalcon\Assets\Resource must be compatible with Phalcon\Assets\ResourceInterface::setType(string $type): Phalcon\Assets\ResourceInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Assets\Resource::setType(string $type): Phalcon\Assets\Resource must be compatible with Phalcon\Assets\ResourceInterface::setType(string $type): Phalcon\Assets\ResourceInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Assets\Resource::setFilter(bool $filter): Phalcon\Assets\Resource must be compatible with Phalcon\Assets\ResourceInterface::setFilter(bool $filter): Phalcon\Assets\ResourceInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Assets\Resource::setFilter(bool $filter): Phalcon\Assets\Resource must be compatible with Phalcon\Assets\ResourceInterface::setFilter(bool $filter): Phalcon\Assets\ResourceInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Assets\Resource::getFilter(): null must be compatible with Phalcon\Assets\ResourceInterface::getFilter(): bool in Unknown on line 0

Fatal error: Declaration of Phalcon\Assets\Resource::getFilter(): null must be compatible with Phalcon\Assets\ResourceInterface::getFilter(): bool in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Assets\Resource::setAttributes(array $attributes): Phalcon\Assets\Resource must be compatible with Phalcon\Assets\ResourceInterface::setAttributes(array $attributes): Phalcon\Assets\ResourceInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Assets\Resource::setAttributes(array $attributes): Phalcon\Assets\Resource must be compatible with Phalcon\Assets\ResourceInterface::setAttributes(array $attributes): Phalcon\Assets\ResourceInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Di::offsetExists(string $name): bool must be compatible with ArrayAccess::offsetExists($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Di::offsetExists(string $name): bool must be compatible with ArrayAccess::offsetExists($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Di::offsetGet(string $name): null must be compatible with ArrayAccess::offsetGet($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Di::offsetGet(string $name): null must be compatible with ArrayAccess::offsetGet($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Di::offsetSet(string $name, $definition): bool must be compatible with ArrayAccess::offsetSet($offset, $value) in Unknown on line 0

Fatal error: Declaration of Phalcon\Di::offsetSet(string $name, $definition): bool must be compatible with ArrayAccess::offsetSet($offset, $value) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Di::offsetUnset(string $name): bool must be compatible with ArrayAccess::offsetUnset($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Di::offsetUnset(string $name): bool must be compatible with ArrayAccess::offsetUnset($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Image\Adapter::text(string $text, $offsetX = NULL, $offsetY = NULL, ?int $opacity = NULL, ?string $color = NULL, ?int $size = NULL, ?string $fontfile = NULL): Phalcon\Image\Adapter must be compatible with Phalcon\Image\AdapterInterface::text(string $text, ?int $offsetX = NULL, ?int $offsetY = NULL, ?int $opacity = NULL, ?string $color = NULL, ?int $size = NULL, ?string $fontfile = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Image\Adapter::text(string $text, $offsetX = NULL, $offsetY = NULL, ?int $opacity = NULL, ?string $color = NULL, ?int $size = NULL, ?string $fontfile = NULL): Phalcon\Image\Adapter must be compatible with Phalcon\Image\AdapterInterface::text(string $text, ?int $offsetX = NULL, ?int $offsetY = NULL, ?int $opacity = NULL, ?string $color = NULL, ?int $size = NULL, ?string $fontfile = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Resultset::seek(int $position) must be compatible with SeekableIterator::seek($position) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Resultset::seek(int $position) must be compatible with SeekableIterator::seek($position) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Resultset::offsetExists(int $index): bool must be compatible with ArrayAccess::offsetExists($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Resultset::offsetExists(int $index): bool must be compatible with ArrayAccess::offsetExists($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Resultset::offsetGet(int $index): Phalcon\Mvc\ModelInterface must be compatible with ArrayAccess::offsetGet($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Resultset::offsetGet(int $index): Phalcon\Mvc\ModelInterface must be compatible with ArrayAccess::offsetGet($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Resultset::offsetUnset(int $offset) must be compatible with ArrayAccess::offsetUnset($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Resultset::offsetUnset(int $offset) must be compatible with ArrayAccess::offsetUnset($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\View\Engine::getContent(): string must be compatible with Phalcon\Mvc\View\EngineInterface::getContent(): null in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\View\Engine::getContent(): string must be compatible with Phalcon\Mvc\View\EngineInterface::getContent(): null in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Acl\Adapter::getActiveRole(): null must be compatible with Phalcon\Acl\AdapterInterface::getActiveRole(): string in Unknown on line 0

Fatal error: Declaration of Phalcon\Acl\Adapter::getActiveRole(): null must be compatible with Phalcon\Acl\AdapterInterface::getActiveRole(): string in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Acl\Adapter::getActiveResource(): null must be compatible with Phalcon\Acl\AdapterInterface::getActiveResource(): string in Unknown on line 0

Fatal error: Declaration of Phalcon\Acl\Adapter::getActiveResource(): null must be compatible with Phalcon\Acl\AdapterInterface::getActiveResource(): string in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Acl\Adapter::getActiveAccess(): null must be compatible with Phalcon\Acl\AdapterInterface::getActiveAccess(): string in Unknown on line 0

Fatal error: Declaration of Phalcon\Acl\Adapter::getActiveAccess(): null must be compatible with Phalcon\Acl\AdapterInterface::getActiveAccess(): string in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Acl\Adapter\Memory::isAllowed($roleName, $resourceName, string $access, ?array $parameters = NULL): bool must be compatible with Phalcon\Acl\AdapterInterface::isAllowed($roleName, $resourceName, $access, ?array $parameters = NULL): bool in Unknown on line 0

Fatal error: Declaration of Phalcon\Acl\Adapter\Memory::isAllowed($roleName, $resourceName, string $access, ?array $parameters = NULL): bool must be compatible with Phalcon\Acl\AdapterInterface::isAllowed($roleName, $resourceName, $access, ?array $parameters = NULL): bool in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Annotations\Factory::load($config): Phalcon\Annotations\AdapterInterface must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0

Fatal error: Declaration of Phalcon\Annotations\Factory::load($config): Phalcon\Annotations\AdapterInterface must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\Apc::save($keyName = NULL, $content = NULL, $lifetime = NULL, ?bool $stopBuffer = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::save($keyName = NULL, $content = NULL, $lifetime = NULL, $stopBuffer = NULL): bool in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\Apc::save($keyName = NULL, $content = NULL, $lifetime = NULL, ?bool $stopBuffer = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::save($keyName = NULL, $content = NULL, $lifetime = NULL, $stopBuffer = NULL): bool in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\Apc::delete(string $keyName): bool must be compatible with Phalcon\Cache\BackendInterface::delete($keyName) in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\Apc::delete(string $keyName): bool must be compatible with Phalcon\Cache\BackendInterface::delete($keyName) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\Apc::queryKeys(?string $prefix = NULL): null must be compatible with Phalcon\Cache\BackendInterface::queryKeys($prefix = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\Apc::queryKeys(?string $prefix = NULL): null must be compatible with Phalcon\Cache\BackendInterface::queryKeys($prefix = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\Apcu::save($keyName = NULL, $content = NULL, $lifetime = NULL, ?bool $stopBuffer = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::save($keyName = NULL, $content = NULL, $lifetime = NULL, $stopBuffer = NULL): bool in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\Apcu::save($keyName = NULL, $content = NULL, $lifetime = NULL, ?bool $stopBuffer = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::save($keyName = NULL, $content = NULL, $lifetime = NULL, $stopBuffer = NULL): bool in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\Apcu::delete(string $keyName): bool must be compatible with Phalcon\Cache\BackendInterface::delete($keyName) in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\Apcu::delete(string $keyName): bool must be compatible with Phalcon\Cache\BackendInterface::delete($keyName) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\Apcu::queryKeys(?string $prefix = NULL): null must be compatible with Phalcon\Cache\BackendInterface::queryKeys($prefix = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\Apcu::queryKeys(?string $prefix = NULL): null must be compatible with Phalcon\Cache\BackendInterface::queryKeys($prefix = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\Factory::load($config): Phalcon\Cache\BackendInterface must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\Factory::load($config): Phalcon\Cache\BackendInterface must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\File::save($keyName = NULL, $content = NULL, $lifetime = NULL, ?bool $stopBuffer = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::save($keyName = NULL, $content = NULL, $lifetime = NULL, $stopBuffer = NULL): bool in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\File::save($keyName = NULL, $content = NULL, $lifetime = NULL, ?bool $stopBuffer = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::save($keyName = NULL, $content = NULL, $lifetime = NULL, $stopBuffer = NULL): bool in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\File::queryKeys(?string $prefix = NULL): null must be compatible with Phalcon\Cache\BackendInterface::queryKeys($prefix = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\File::queryKeys(?string $prefix = NULL): null must be compatible with Phalcon\Cache\BackendInterface::queryKeys($prefix = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\File::exists($keyName = NULL, ?int $lifetime = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::exists($keyName = NULL, $lifetime = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\File::exists($keyName = NULL, ?int $lifetime = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::exists($keyName = NULL, $lifetime = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\Libmemcached::save($keyName = NULL, $content = NULL, $lifetime = NULL, ?bool $stopBuffer = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::save($keyName = NULL, $content = NULL, $lifetime = NULL, $stopBuffer = NULL): bool in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\Libmemcached::save($keyName = NULL, $content = NULL, $lifetime = NULL, ?bool $stopBuffer = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::save($keyName = NULL, $content = NULL, $lifetime = NULL, $stopBuffer = NULL): bool in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\Libmemcached::queryKeys(?string $prefix = NULL): null must be compatible with Phalcon\Cache\BackendInterface::queryKeys($prefix = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\Libmemcached::queryKeys(?string $prefix = NULL): null must be compatible with Phalcon\Cache\BackendInterface::queryKeys($prefix = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\Memcache::save($keyName = NULL, $content = NULL, $lifetime = NULL, ?bool $stopBuffer = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::save($keyName = NULL, $content = NULL, $lifetime = NULL, $stopBuffer = NULL): bool in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\Memcache::save($keyName = NULL, $content = NULL, $lifetime = NULL, ?bool $stopBuffer = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::save($keyName = NULL, $content = NULL, $lifetime = NULL, $stopBuffer = NULL): bool in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\Memcache::queryKeys(?string $prefix = NULL): null must be compatible with Phalcon\Cache\BackendInterface::queryKeys($prefix = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\Memcache::queryKeys(?string $prefix = NULL): null must be compatible with Phalcon\Cache\BackendInterface::queryKeys($prefix = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\Memory::save($keyName = NULL, $content = NULL, $lifetime = NULL, ?bool $stopBuffer = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::save($keyName = NULL, $content = NULL, $lifetime = NULL, $stopBuffer = NULL): bool in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\Memory::save($keyName = NULL, $content = NULL, $lifetime = NULL, ?bool $stopBuffer = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::save($keyName = NULL, $content = NULL, $lifetime = NULL, $stopBuffer = NULL): bool in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\Memory::queryKeys(?string $prefix = NULL): null must be compatible with Phalcon\Cache\BackendInterface::queryKeys($prefix = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\Memory::queryKeys(?string $prefix = NULL): null must be compatible with Phalcon\Cache\BackendInterface::queryKeys($prefix = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\Mongo::save($keyName = NULL, $content = NULL, $lifetime = NULL, ?bool $stopBuffer = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::save($keyName = NULL, $content = NULL, $lifetime = NULL, $stopBuffer = NULL): bool in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\Mongo::save($keyName = NULL, $content = NULL, $lifetime = NULL, ?bool $stopBuffer = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::save($keyName = NULL, $content = NULL, $lifetime = NULL, $stopBuffer = NULL): bool in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\Mongo::queryKeys(?string $prefix = NULL): null must be compatible with Phalcon\Cache\BackendInterface::queryKeys($prefix = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\Mongo::queryKeys(?string $prefix = NULL): null must be compatible with Phalcon\Cache\BackendInterface::queryKeys($prefix = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\Redis::save($keyName = NULL, $content = NULL, $lifetime = NULL, ?bool $stopBuffer = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::save($keyName = NULL, $content = NULL, $lifetime = NULL, $stopBuffer = NULL): bool in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\Redis::save($keyName = NULL, $content = NULL, $lifetime = NULL, ?bool $stopBuffer = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::save($keyName = NULL, $content = NULL, $lifetime = NULL, $stopBuffer = NULL): bool in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\Redis::queryKeys(?string $prefix = NULL): null must be compatible with Phalcon\Cache\BackendInterface::queryKeys($prefix = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\Redis::queryKeys(?string $prefix = NULL): null must be compatible with Phalcon\Cache\BackendInterface::queryKeys($prefix = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\Xcache::save($keyName = NULL, $content = NULL, $lifetime = NULL, ?bool $stopBuffer = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::save($keyName = NULL, $content = NULL, $lifetime = NULL, $stopBuffer = NULL): bool in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\Xcache::save($keyName = NULL, $content = NULL, $lifetime = NULL, ?bool $stopBuffer = NULL): bool must be compatible with Phalcon\Cache\BackendInterface::save($keyName = NULL, $content = NULL, $lifetime = NULL, $stopBuffer = NULL): bool in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Backend\Xcache::queryKeys(?string $prefix = NULL): null must be compatible with Phalcon\Cache\BackendInterface::queryKeys($prefix = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Backend\Xcache::queryKeys(?string $prefix = NULL): null must be compatible with Phalcon\Cache\BackendInterface::queryKeys($prefix = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Cache\Frontend\Factory::load($config): Phalcon\Cache\FrontendInterface must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0

Fatal error: Declaration of Phalcon\Cache\Frontend\Factory::load($config): Phalcon\Cache\FrontendInterface must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Config\Factory::load($config): Phalcon\Config must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0

Fatal error: Declaration of Phalcon\Config\Factory::load($config): Phalcon\Config must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Crypt::setCipher(string $cipher): Phalcon\Crypt must be compatible with Phalcon\CryptInterface::setCipher(string $cipher): Phalcon\CryptInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Crypt::setCipher(string $cipher): Phalcon\Crypt must be compatible with Phalcon\CryptInterface::setCipher(string $cipher): Phalcon\CryptInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Crypt::setKey(string $key): Phalcon\Crypt must be compatible with Phalcon\CryptInterface::setKey(string $key): Phalcon\CryptInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Crypt::setKey(string $key): Phalcon\Crypt must be compatible with Phalcon\CryptInterface::setKey(string $key): Phalcon\CryptInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Crypt::encrypt(string $text, ?string $key = NULL): string must be compatible with Phalcon\CryptInterface::encrypt(string $text, $key = NULL): string in Unknown on line 0

Fatal error: Declaration of Phalcon\Crypt::encrypt(string $text, ?string $key = NULL): string must be compatible with Phalcon\CryptInterface::encrypt(string $text, $key = NULL): string in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Db\Adapter\Pdo\Factory::load($config): Phalcon\Db\AdapterInterface must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0

Fatal error: Declaration of Phalcon\Db\Adapter\Pdo\Factory::load($config): Phalcon\Db\AdapterInterface must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Db\Adapter\Pdo\Mysql::describeIndexes(string $table, $schema = NULL): Phalcon\Db\IndexInterface must be compatible with Phalcon\Db\Adapter::describeIndexes(string $table, $schema = NULL): Phalcon\Db\Index in Unknown on line 0

Fatal error: Declaration of Phalcon\Db\Adapter\Pdo\Mysql::describeIndexes(string $table, $schema = NULL): Phalcon\Db\IndexInterface must be compatible with Phalcon\Db\Adapter::describeIndexes(string $table, $schema = NULL): Phalcon\Db\Index in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Db\Adapter\Pdo\Mysql::describeColumns(string $table, ?string $schema = NULL): Phalcon\Db\Column must be compatible with Phalcon\Db\AdapterInterface::describeColumns(string $table, ?string $schema = NULL): Phalcon\Db\ColumnInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Db\Adapter\Pdo\Mysql::describeColumns(string $table, ?string $schema = NULL): Phalcon\Db\Column must be compatible with Phalcon\Db\AdapterInterface::describeColumns(string $table, ?string $schema = NULL): Phalcon\Db\ColumnInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Db\Adapter\Pdo\Postgresql::describeColumns(string $table, ?string $schema = NULL): Phalcon\Db\Column must be compatible with Phalcon\Db\AdapterInterface::describeColumns(string $table, ?string $schema = NULL): Phalcon\Db\ColumnInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Db\Adapter\Pdo\Postgresql::describeColumns(string $table, ?string $schema = NULL): Phalcon\Db\Column must be compatible with Phalcon\Db\AdapterInterface::describeColumns(string $table, ?string $schema = NULL): Phalcon\Db\ColumnInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Db\Adapter\Pdo\Sqlite::describeIndexes($table, $schema = NULL): Phalcon\Db\IndexInterface must be compatible with Phalcon\Db\Adapter::describeIndexes(string $table, $schema = NULL): Phalcon\Db\Index in Unknown on line 0

Fatal error: Declaration of Phalcon\Db\Adapter\Pdo\Sqlite::describeIndexes($table, $schema = NULL): Phalcon\Db\IndexInterface must be compatible with Phalcon\Db\Adapter::describeIndexes(string $table, $schema = NULL): Phalcon\Db\Index in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Db\Adapter\Pdo\Sqlite::describeReferences($table, $schema = NULL): Phalcon\Db\ReferenceInterface must be compatible with Phalcon\Db\Adapter::describeReferences(string $table, ?string $schema = NULL): Phalcon\Db\Reference in Unknown on line 0

Fatal error: Declaration of Phalcon\Db\Adapter\Pdo\Sqlite::describeReferences($table, $schema = NULL): Phalcon\Db\ReferenceInterface must be compatible with Phalcon\Db\Adapter::describeReferences(string $table, ?string $schema = NULL): Phalcon\Db\Reference in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Db\Adapter\Pdo\Sqlite::describeColumns(string $table, ?string $schema = NULL): Phalcon\Db\Column must be compatible with Phalcon\Db\AdapterInterface::describeColumns(string $table, ?string $schema = NULL): Phalcon\Db\ColumnInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Db\Adapter\Pdo\Sqlite::describeColumns(string $table, ?string $schema = NULL): Phalcon\Db\Column must be compatible with Phalcon\Db\AdapterInterface::describeColumns(string $table, ?string $schema = NULL): Phalcon\Db\ColumnInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Db\Column::__set_state(array $data): Phalcon\Db\Column must be compatible with Phalcon\Db\ColumnInterface::__set_state(array $data): Phalcon\Db\ColumnInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Db\Column::__set_state(array $data): Phalcon\Db\Column must be compatible with Phalcon\Db\ColumnInterface::__set_state(array $data): Phalcon\Db\ColumnInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Db\Index::__set_state(array $data): Phalcon\Db\Index must be compatible with Phalcon\Db\IndexInterface::__set_state(array $data): Phalcon\Db\IndexInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Db\Index::__set_state(array $data): Phalcon\Db\Index must be compatible with Phalcon\Db\IndexInterface::__set_state(array $data): Phalcon\Db\IndexInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Db\Reference::__set_state(array $data): Phalcon\Db\Reference must be compatible with Phalcon\Db\ReferenceInterface::__set_state(array $data): Phalcon\Db\ReferenceInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Db\Reference::__set_state(array $data): Phalcon\Db\Reference must be compatible with Phalcon\Db\ReferenceInterface::__set_state(array $data): Phalcon\Db\ReferenceInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Db\Result\Pdo::dataSeek(int $number) must be compatible with Phalcon\Db\ResultInterface::dataSeek($number) in Unknown on line 0

Fatal error: Declaration of Phalcon\Db\Result\Pdo::dataSeek(int $number) must be compatible with Phalcon\Db\ResultInterface::dataSeek($number) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Db\Result\Pdo::setFetchMode(int $fetchMode, $colNoOrClassNameOrObject = NULL, $ctorargs = NULL): bool must be compatible with Phalcon\Db\ResultInterface::setFetchMode($fetchMode): bool in Unknown on line 0

Fatal error: Declaration of Phalcon\Db\Result\Pdo::setFetchMode(int $fetchMode, $colNoOrClassNameOrObject = NULL, $ctorargs = NULL): bool must be compatible with Phalcon\Db\ResultInterface::setFetchMode($fetchMode): bool in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Di\Service::setParameter(int $position, array $parameter): Phalcon\Di\Service must be compatible with Phalcon\Di\ServiceInterface::setParameter(int $position, array $parameter): Phalcon\Di\ServiceInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Di\Service::setParameter(int $position, array $parameter): Phalcon\Di\Service must be compatible with Phalcon\Di\ServiceInterface::setParameter(int $position, array $parameter): Phalcon\Di\ServiceInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Di\Service::__set_state(array $attributes): Phalcon\Di\Service must be compatible with Phalcon\Di\ServiceInterface::__set_state(array $attributes): Phalcon\Di\ServiceInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Di\Service::__set_state(array $attributes): Phalcon\Di\Service must be compatible with Phalcon\Di\ServiceInterface::__set_state(array $attributes): Phalcon\Di\ServiceInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Escaper::setEncoding(string $encoding) must be compatible with Phalcon\EscaperInterface::setEncoding($encoding) in Unknown on line 0

Fatal error: Declaration of Phalcon\Escaper::setEncoding(string $encoding) must be compatible with Phalcon\EscaperInterface::setEncoding($encoding) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Escaper::setHtmlQuoteType(int $quoteType) must be compatible with Phalcon\EscaperInterface::setHtmlQuoteType($quoteType) in Unknown on line 0

Fatal error: Declaration of Phalcon\Escaper::setHtmlQuoteType(int $quoteType) must be compatible with Phalcon\EscaperInterface::setHtmlQuoteType($quoteType) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Escaper::escapeHtml(string $text): string must be compatible with Phalcon\EscaperInterface::escapeHtml($text) in Unknown on line 0

Fatal error: Declaration of Phalcon\Escaper::escapeHtml(string $text): string must be compatible with Phalcon\EscaperInterface::escapeHtml($text) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Escaper::escapeHtmlAttr(string $attribute): string must be compatible with Phalcon\EscaperInterface::escapeHtmlAttr($text) in Unknown on line 0

Fatal error: Declaration of Phalcon\Escaper::escapeHtmlAttr(string $attribute): string must be compatible with Phalcon\EscaperInterface::escapeHtmlAttr($text) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Escaper::escapeCss(string $css): string must be compatible with Phalcon\EscaperInterface::escapeCss($css) in Unknown on line 0

Fatal error: Declaration of Phalcon\Escaper::escapeCss(string $css): string must be compatible with Phalcon\EscaperInterface::escapeCss($css) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Escaper::escapeJs(string $js): string must be compatible with Phalcon\EscaperInterface::escapeJs($js) in Unknown on line 0

Fatal error: Declaration of Phalcon\Escaper::escapeJs(string $js): string must be compatible with Phalcon\EscaperInterface::escapeJs($js) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Escaper::escapeUrl(string $url): string must be compatible with Phalcon\EscaperInterface::escapeUrl($url) in Unknown on line 0

Fatal error: Declaration of Phalcon\Escaper::escapeUrl(string $url): string must be compatible with Phalcon\EscaperInterface::escapeUrl($url) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Events\Event::getType(): string must be compatible with Phalcon\Events\EventInterface::getType(): null in Unknown on line 0

Fatal error: Declaration of Phalcon\Events\Event::getType(): string must be compatible with Phalcon\Events\EventInterface::getType(): null in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Filter::add(string $name, $handler): Phalcon\Filter must be compatible with Phalcon\FilterInterface::add(string $name, $handler): Phalcon\FilterInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Filter::add(string $name, $handler): Phalcon\Filter must be compatible with Phalcon\FilterInterface::add(string $name, $handler): Phalcon\FilterInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Flash\Session::message(string $type, string $message) must be compatible with Phalcon\FlashInterface::message(string $type, $message) in Unknown on line 0

Fatal error: Declaration of Phalcon\Flash\Session::message(string $type, string $message) must be compatible with Phalcon\FlashInterface::message(string $type, $message) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Request::hasFiles(?bool $onlySuccessful = NULL): int must be compatible with Phalcon\Http\RequestInterface::hasFiles($onlySuccessful = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Request::hasFiles(?bool $onlySuccessful = NULL): int must be compatible with Phalcon\Http\RequestInterface::hasFiles($onlySuccessful = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Request::getUploadedFiles(?bool $onlySuccessful = NULL): Phalcon\Http\Request\File must be compatible with Phalcon\Http\RequestInterface::getUploadedFiles(?bool $onlySuccessful = NULL): Phalcon\Http\Request\FileInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Request::getUploadedFiles(?bool $onlySuccessful = NULL): Phalcon\Http\Request\File must be compatible with Phalcon\Http\RequestInterface::getUploadedFiles(?bool $onlySuccessful = NULL): Phalcon\Http\Request\FileInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response::setStatusCode(int $code, ?string $message = NULL): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setStatusCode(int $code, ?string $message = NULL): Phalcon\Http\ResponseInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response::setStatusCode(int $code, ?string $message = NULL): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setStatusCode(int $code, ?string $message = NULL): Phalcon\Http\ResponseInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response::setHeader(string $name, $value): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setHeader(string $name, $value): Phalcon\Http\ResponseInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response::setHeader(string $name, $value): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setHeader(string $name, $value): Phalcon\Http\ResponseInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response::setRawHeader(string $header): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setRawHeader(string $header): Phalcon\Http\ResponseInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response::setRawHeader(string $header): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setRawHeader(string $header): Phalcon\Http\ResponseInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response::resetHeaders(): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::resetHeaders(): Phalcon\Http\ResponseInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response::resetHeaders(): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::resetHeaders(): Phalcon\Http\ResponseInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response::setExpires(DateTime $datetime): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setExpires(DateTime $datetime): Phalcon\Http\ResponseInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response::setExpires(DateTime $datetime): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setExpires(DateTime $datetime): Phalcon\Http\ResponseInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response::setNotModified(): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setNotModified(): Phalcon\Http\ResponseInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response::setNotModified(): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setNotModified(): Phalcon\Http\ResponseInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response::setContentType(string $contentType, $charset = NULL): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setContentType(string $contentType, $charset = NULL): Phalcon\Http\ResponseInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response::setContentType(string $contentType, $charset = NULL): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setContentType(string $contentType, $charset = NULL): Phalcon\Http\ResponseInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response::setContentLength(int $contentLength): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setContentLength(int $contentLength): Phalcon\Http\ResponseInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response::setContentLength(int $contentLength): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setContentLength(int $contentLength): Phalcon\Http\ResponseInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response::redirect($location = NULL, ?bool $externalRedirect = NULL, ?int $statusCode = NULL): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::redirect($location = NULL, ?bool $externalRedirect = NULL, ?int $statusCode = NULL): Phalcon\Http\ResponseInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response::redirect($location = NULL, ?bool $externalRedirect = NULL, ?int $statusCode = NULL): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::redirect($location = NULL, ?bool $externalRedirect = NULL, ?int $statusCode = NULL): Phalcon\Http\ResponseInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response::setContent(string $content): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setContent(string $content): Phalcon\Http\ResponseInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response::setContent(string $content): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setContent(string $content): Phalcon\Http\ResponseInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response::setJsonContent($content, ?int $jsonOptions = NULL, ?int $depth = NULL): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setJsonContent($content): Phalcon\Http\ResponseInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response::setJsonContent($content, ?int $jsonOptions = NULL, ?int $depth = NULL): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setJsonContent($content): Phalcon\Http\ResponseInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response::appendContent($content): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::appendContent($content): Phalcon\Http\ResponseInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response::appendContent($content): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::appendContent($content): Phalcon\Http\ResponseInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response::sendHeaders(): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::sendHeaders(): Phalcon\Http\ResponseInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response::sendHeaders(): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::sendHeaders(): Phalcon\Http\ResponseInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response::sendCookies(): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::sendCookies(): Phalcon\Http\ResponseInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response::sendCookies(): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::sendCookies(): Phalcon\Http\ResponseInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response::send(): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::send(): Phalcon\Http\ResponseInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response::send(): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::send(): Phalcon\Http\ResponseInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response::setFileToSend(string $filePath, $attachmentName = NULL, $attachment = NULL): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setFileToSend(string $filePath, $attachmentName = NULL): Phalcon\Http\ResponseInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response::setFileToSend(string $filePath, $attachmentName = NULL, $attachment = NULL): Phalcon\Http\Response must be compatible with Phalcon\Http\ResponseInterface::setFileToSend(string $filePath, $attachmentName = NULL): Phalcon\Http\ResponseInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response\Cookies::useEncryption(bool $useEncryption): Phalcon\Http\Response\Cookies must be compatible with Phalcon\Http\Response\CookiesInterface::useEncryption(bool $useEncryption): Phalcon\Http\Response\CookiesInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response\Cookies::useEncryption(bool $useEncryption): Phalcon\Http\Response\Cookies must be compatible with Phalcon\Http\Response\CookiesInterface::useEncryption(bool $useEncryption): Phalcon\Http\Response\CookiesInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response\Cookies::set(string $name, $value = NULL, ?int $expire = NULL, ?string $path = NULL, ?bool $secure = NULL, ?string $domain = NULL, ?bool $httpOnly = NULL): Phalcon\Http\Response\Cookies must be compatible with Phalcon\Http\Response\CookiesInterface::set(string $name, $value = NULL, ?int $expire = NULL, ?string $path = NULL, ?bool $secure = NULL, ?string $domain = NULL, ?bool $httpOnly = NULL): Phalcon\Http\Response\CookiesInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response\Cookies::set(string $name, $value = NULL, ?int $expire = NULL, ?string $path = NULL, ?bool $secure = NULL, ?string $domain = NULL, ?bool $httpOnly = NULL): Phalcon\Http\Response\Cookies must be compatible with Phalcon\Http\Response\CookiesInterface::set(string $name, $value = NULL, ?int $expire = NULL, ?string $path = NULL, ?bool $secure = NULL, ?string $domain = NULL, ?bool $httpOnly = NULL): Phalcon\Http\Response\CookiesInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response\Cookies::get(string $name): Phalcon\Http\CookieInterface must be compatible with Phalcon\Http\Response\CookiesInterface::get(string $name): Phalcon\Http\Cookie in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response\Cookies::get(string $name): Phalcon\Http\CookieInterface must be compatible with Phalcon\Http\Response\CookiesInterface::get(string $name): Phalcon\Http\Cookie in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response\Cookies::reset(): Phalcon\Http\Response\Cookies must be compatible with Phalcon\Http\Response\CookiesInterface::reset(): Phalcon\Http\Response\CookiesInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response\Cookies::reset(): Phalcon\Http\Response\Cookies must be compatible with Phalcon\Http\Response\CookiesInterface::reset(): Phalcon\Http\Response\CookiesInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Http\Response\Headers::__set_state(array $data): Phalcon\Http\Response\Headers must be compatible with Phalcon\Http\Response\HeadersInterface::__set_state(array $data): Phalcon\Http\Response\HeadersInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Http\Response\Headers::__set_state(array $data): Phalcon\Http\Response\Headers must be compatible with Phalcon\Http\Response\HeadersInterface::__set_state(array $data): Phalcon\Http\Response\HeadersInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Image\Factory::load($config): Phalcon\Image\AdapterInterface must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0

Fatal error: Declaration of Phalcon\Image\Factory::load($config): Phalcon\Image\AdapterInterface must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Logger\Adapter\Syslog::getFormatter(): Phalcon\Logger\Formatter\Syslog must be compatible with Phalcon\Logger\AdapterInterface::getFormatter(): Phalcon\Logger\FormatterInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Logger\Adapter\Syslog::getFormatter(): Phalcon\Logger\Formatter\Syslog must be compatible with Phalcon\Logger\AdapterInterface::getFormatter(): Phalcon\Logger\FormatterInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Logger\Factory::load($config): Phalcon\Logger\AdapterInterface must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0

Fatal error: Declaration of Phalcon\Logger\Factory::load($config): Phalcon\Logger\AdapterInterface must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Logger\Formatter\Syslog::format($message, int $type, int $timestamp, $context = NULL): null must be compatible with Phalcon\Logger\FormatterInterface::format(string $message, int $type, int $timestamp, $context = NULL): string in Unknown on line 0

Fatal error: Declaration of Phalcon\Logger\Formatter\Syslog::format($message, int $type, int $timestamp, $context = NULL): null must be compatible with Phalcon\Logger\FormatterInterface::format(string $message, int $type, int $timestamp, $context = NULL): string in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Collection::findById($id): ?Phalcon\Mvc\Collection must be compatible with Phalcon\Mvc\CollectionInterface::findById($id): Phalcon\Mvc\CollectionInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Collection::findById($id): ?Phalcon\Mvc\Collection must be compatible with Phalcon\Mvc\CollectionInterface::findById($id): Phalcon\Mvc\CollectionInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Collection::unserialize(string $data) must be compatible with Serializable::unserialize($serialized) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Collection::unserialize(string $data) must be compatible with Serializable::unserialize($serialized) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Collection\Document::offsetExists(string $index): bool must be compatible with ArrayAccess::offsetExists($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Collection\Document::offsetExists(string $index): bool must be compatible with ArrayAccess::offsetExists($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Collection\Document::offsetGet(string $index) must be compatible with ArrayAccess::offsetGet($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Collection\Document::offsetGet(string $index) must be compatible with ArrayAccess::offsetGet($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Collection\Document::offsetSet(string $index, $value) must be compatible with ArrayAccess::offsetSet($offset, $value) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Collection\Document::offsetSet(string $index, $value) must be compatible with ArrayAccess::offsetSet($offset, $value) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Micro\Collection::setPrefix(string $prefix): Phalcon\Mvc\Micro\Collection must be compatible with Phalcon\Mvc\Micro\CollectionInterface::setPrefix(string $prefix): Phalcon\Mvc\Micro\CollectionInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Micro\Collection::setPrefix(string $prefix): Phalcon\Mvc\Micro\Collection must be compatible with Phalcon\Mvc\Micro\CollectionInterface::setPrefix(string $prefix): Phalcon\Mvc\Micro\CollectionInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Micro\Collection::setLazy(bool $lazy): Phalcon\Mvc\Micro\Collection must be compatible with Phalcon\Mvc\Micro\CollectionInterface::setLazy(bool $lazy): Phalcon\Mvc\Micro\CollectionInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Micro\Collection::setLazy(bool $lazy): Phalcon\Mvc\Micro\Collection must be compatible with Phalcon\Mvc\Micro\CollectionInterface::setLazy(bool $lazy): Phalcon\Mvc\Micro\CollectionInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model::setTransaction(Phalcon\Mvc\Model\TransactionInterface $transaction): Phalcon\Mvc\Model must be compatible with Phalcon\Mvc\ModelInterface::setTransaction(Phalcon\Mvc\Model\TransactionInterface $transaction): Phalcon\Mvc\ModelInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model::setTransaction(Phalcon\Mvc\Model\TransactionInterface $transaction): Phalcon\Mvc\Model must be compatible with Phalcon\Mvc\ModelInterface::setTransaction(Phalcon\Mvc\Model\TransactionInterface $transaction): Phalcon\Mvc\ModelInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model::cloneResultMap($base, array $data, $columnMap, ?int $dirtyState = NULL, ?bool $keepSnapshots = NULL): Phalcon\Mvc\Model must be compatible with Phalcon\Mvc\ModelInterface::cloneResultMap($base, array $data, $columnMap, $dirtyState = NULL, $keepSnapshots = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model::cloneResultMap($base, array $data, $columnMap, ?int $dirtyState = NULL, ?bool $keepSnapshots = NULL): Phalcon\Mvc\Model must be compatible with Phalcon\Mvc\ModelInterface::cloneResultMap($base, array $data, $columnMap, $dirtyState = NULL, $keepSnapshots = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model::cloneResult(Phalcon\Mvc\ModelInterface $base, array $data, ?int $dirtyState = NULL) must be compatible with Phalcon\Mvc\ModelInterface::cloneResult(Phalcon\Mvc\ModelInterface $base, array $data, $dirtyState = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model::cloneResult(Phalcon\Mvc\ModelInterface $base, array $data, ?int $dirtyState = NULL) must be compatible with Phalcon\Mvc\ModelInterface::cloneResult(Phalcon\Mvc\ModelInterface $base, array $data, $dirtyState = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model::fireEvent(string $eventName): bool must be compatible with Phalcon\Mvc\ModelInterface::fireEvent($eventName) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model::fireEvent(string $eventName): bool must be compatible with Phalcon\Mvc\ModelInterface::fireEvent($eventName) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model::fireEventCancel(string $eventName): bool must be compatible with Phalcon\Mvc\ModelInterface::fireEventCancel($eventName) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model::fireEventCancel(string $eventName): bool must be compatible with Phalcon\Mvc\ModelInterface::fireEventCancel($eventName) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model::getRelated(string $alias, $arguments = NULL): Phalcon\Mvc\Model\ResultsetInterface must be compatible with Phalcon\Mvc\ModelInterface::getRelated($alias, $arguments = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model::getRelated(string $alias, $arguments = NULL): Phalcon\Mvc\Model\ResultsetInterface must be compatible with Phalcon\Mvc\ModelInterface::getRelated($alias, $arguments = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model::setDirtyState(int $dirtyState): Phalcon\Mvc\ModelInterface must be compatible with Phalcon\Mvc\Model\ResultInterface::setDirtyState($dirtyState) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model::setDirtyState(int $dirtyState): Phalcon\Mvc\ModelInterface must be compatible with Phalcon\Mvc\Model\ResultInterface::setDirtyState($dirtyState) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model::unserialize(string $data) must be compatible with Serializable::unserialize($serialized) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model::unserialize(string $data) must be compatible with Serializable::unserialize($serialized) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Binder::bindToHandler($handler, array $params, string $cacheKey, $methodName = NULL): null must be compatible with Phalcon\Mvc\Model\BinderInterface::bindToHandler($handler, array $params, string $cacheKey, ?string $methodName = NULL): null in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Binder::bindToHandler($handler, array $params, string $cacheKey, $methodName = NULL): null must be compatible with Phalcon\Mvc\Model\BinderInterface::bindToHandler($handler, array $params, string $cacheKey, ?string $methodName = NULL): null in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Criteria::setModelName(string $modelName): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::setModelName(string $modelName): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Criteria::setModelName(string $modelName): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::setModelName(string $modelName): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Criteria::bind(array $bindParams, ?bool $merge = NULL): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::bind(array $bindParams): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Criteria::bind(array $bindParams, ?bool $merge = NULL): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::bind(array $bindParams): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Criteria::bindTypes(array $bindTypes): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::bindTypes(array $bindTypes): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Criteria::bindTypes(array $bindTypes): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::bindTypes(array $bindTypes): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Criteria::where(string $conditions, $bindParams = NULL, $bindTypes = NULL): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::where(string $conditions): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Criteria::where(string $conditions, $bindParams = NULL, $bindTypes = NULL): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::where(string $conditions): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Criteria::conditions(string $conditions): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::conditions(string $conditions): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Criteria::conditions(string $conditions): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::conditions(string $conditions): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Criteria::orderBy(string $orderColumns): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::orderBy(string $orderColumns): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Criteria::orderBy(string $orderColumns): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::orderBy(string $orderColumns): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Criteria::limit(int $limit, $offset = NULL): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::limit(int $limit, $offset = NULL): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Criteria::limit(int $limit, $offset = NULL): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::limit(int $limit, $offset = NULL): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Criteria::forUpdate(?bool $forUpdate = NULL): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::forUpdate(?bool $forUpdate = NULL): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Criteria::forUpdate(?bool $forUpdate = NULL): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::forUpdate(?bool $forUpdate = NULL): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Criteria::sharedLock(?bool $sharedLock = NULL): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::sharedLock(?bool $sharedLock = NULL): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Criteria::sharedLock(?bool $sharedLock = NULL): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::sharedLock(?bool $sharedLock = NULL): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Criteria::andWhere(string $conditions, $bindParams = NULL, $bindTypes = NULL): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::andWhere(string $conditions, $bindParams = NULL, $bindTypes = NULL): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Criteria::andWhere(string $conditions, $bindParams = NULL, $bindTypes = NULL): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::andWhere(string $conditions, $bindParams = NULL, $bindTypes = NULL): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Criteria::orWhere(string $conditions, $bindParams = NULL, $bindTypes = NULL): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::orWhere(string $conditions, $bindParams = NULL, $bindTypes = NULL): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Criteria::orWhere(string $conditions, $bindParams = NULL, $bindTypes = NULL): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::orWhere(string $conditions, $bindParams = NULL, $bindTypes = NULL): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Criteria::betweenWhere(string $expr, $minimum, $maximum): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::betweenWhere(string $expr, $minimum, $maximum): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Criteria::betweenWhere(string $expr, $minimum, $maximum): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::betweenWhere(string $expr, $minimum, $maximum): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Criteria::notBetweenWhere(string $expr, $minimum, $maximum): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::notBetweenWhere(string $expr, $minimum, $maximum): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Criteria::notBetweenWhere(string $expr, $minimum, $maximum): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::notBetweenWhere(string $expr, $minimum, $maximum): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Criteria::inWhere(string $expr, array $values): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::inWhere(string $expr, array $values): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Criteria::inWhere(string $expr, array $values): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::inWhere(string $expr, array $values): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Criteria::notInWhere(string $expr, array $values): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::notInWhere(string $expr, array $values): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Criteria::notInWhere(string $expr, array $values): Phalcon\Mvc\Model\Criteria must be compatible with Phalcon\Mvc\Model\CriteriaInterface::notInWhere(string $expr, array $values): Phalcon\Mvc\Model\CriteriaInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Criteria::getDI(): ?Phalcon\DiInterface must be compatible with Phalcon\Di\InjectionAwareInterface::getDI(): Phalcon\DiInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Criteria::getDI(): ?Phalcon\DiInterface must be compatible with Phalcon\Di\InjectionAwareInterface::getDI(): Phalcon\DiInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Manager::addHasOne(Phalcon\Mvc\ModelInterface $model, $fields, string $referencedModel, $referencedFields, $options = NULL): Phalcon\Mvc\Model\Relation must be compatible with Phalcon\Mvc\Model\ManagerInterface::addHasOne(Phalcon\Mvc\ModelInterface $model, $fields, $referencedModel, $referencedFields, $options = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Manager::addHasOne(Phalcon\Mvc\ModelInterface $model, $fields, string $referencedModel, $referencedFields, $options = NULL): Phalcon\Mvc\Model\Relation must be compatible with Phalcon\Mvc\Model\ManagerInterface::addHasOne(Phalcon\Mvc\ModelInterface $model, $fields, $referencedModel, $referencedFields, $options = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Manager::addBelongsTo(Phalcon\Mvc\ModelInterface $model, $fields, string $referencedModel, $referencedFields, $options = NULL): Phalcon\Mvc\Model\Relation must be compatible with Phalcon\Mvc\Model\ManagerInterface::addBelongsTo(Phalcon\Mvc\ModelInterface $model, $fields, $referencedModel, $referencedFields, $options = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Manager::addBelongsTo(Phalcon\Mvc\ModelInterface $model, $fields, string $referencedModel, $referencedFields, $options = NULL): Phalcon\Mvc\Model\Relation must be compatible with Phalcon\Mvc\Model\ManagerInterface::addBelongsTo(Phalcon\Mvc\ModelInterface $model, $fields, $referencedModel, $referencedFields, $options = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Manager::addHasMany(Phalcon\Mvc\ModelInterface $model, $fields, string $referencedModel, $referencedFields, $options = NULL): Phalcon\Mvc\Model\Relation must be compatible with Phalcon\Mvc\Model\ManagerInterface::addHasMany(Phalcon\Mvc\ModelInterface $model, $fields, $referencedModel, $referencedFields, $options = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Manager::addHasMany(Phalcon\Mvc\ModelInterface $model, $fields, string $referencedModel, $referencedFields, $options = NULL): Phalcon\Mvc\Model\Relation must be compatible with Phalcon\Mvc\Model\ManagerInterface::addHasMany(Phalcon\Mvc\ModelInterface $model, $fields, $referencedModel, $referencedFields, $options = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Manager::existsBelongsTo(string $modelName, string $modelRelation): bool must be compatible with Phalcon\Mvc\Model\ManagerInterface::existsBelongsTo($modelName, $modelRelation) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Manager::existsBelongsTo(string $modelName, string $modelRelation): bool must be compatible with Phalcon\Mvc\Model\ManagerInterface::existsBelongsTo($modelName, $modelRelation) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Manager::existsHasMany(string $modelName, string $modelRelation): bool must be compatible with Phalcon\Mvc\Model\ManagerInterface::existsHasMany($modelName, $modelRelation) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Manager::existsHasMany(string $modelName, string $modelRelation): bool must be compatible with Phalcon\Mvc\Model\ManagerInterface::existsHasMany($modelName, $modelRelation) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Manager::existsHasOne(string $modelName, string $modelRelation): bool must be compatible with Phalcon\Mvc\Model\ManagerInterface::existsHasOne($modelName, $modelRelation) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Manager::existsHasOne(string $modelName, string $modelRelation): bool must be compatible with Phalcon\Mvc\Model\ManagerInterface::existsHasOne($modelName, $modelRelation) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Manager::getBelongsToRecords(string $method, string $modelName, $modelRelation, Phalcon\Mvc\ModelInterface $record, $parameters = NULL): Phalcon\Mvc\Model\ResultsetInterface must be compatible with Phalcon\Mvc\Model\ManagerInterface::getBelongsToRecords($method, $modelName, $modelRelation, Phalcon\Mvc\ModelInterface $record, $parameters = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Manager::getBelongsToRecords(string $method, string $modelName, $modelRelation, Phalcon\Mvc\ModelInterface $record, $parameters = NULL): Phalcon\Mvc\Model\ResultsetInterface must be compatible with Phalcon\Mvc\Model\ManagerInterface::getBelongsToRecords($method, $modelName, $modelRelation, Phalcon\Mvc\ModelInterface $record, $parameters = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Manager::getHasManyRecords(string $method, string $modelName, $modelRelation, Phalcon\Mvc\ModelInterface $record, $parameters = NULL): Phalcon\Mvc\Model\ResultsetInterface must be compatible with Phalcon\Mvc\Model\ManagerInterface::getHasManyRecords($method, $modelName, $modelRelation, Phalcon\Mvc\ModelInterface $record, $parameters = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Manager::getHasManyRecords(string $method, string $modelName, $modelRelation, Phalcon\Mvc\ModelInterface $record, $parameters = NULL): Phalcon\Mvc\Model\ResultsetInterface must be compatible with Phalcon\Mvc\Model\ManagerInterface::getHasManyRecords($method, $modelName, $modelRelation, Phalcon\Mvc\ModelInterface $record, $parameters = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Manager::getHasOneRecords(string $method, string $modelName, $modelRelation, Phalcon\Mvc\ModelInterface $record, $parameters = NULL): Phalcon\Mvc\ModelInterface must be compatible with Phalcon\Mvc\Model\ManagerInterface::getHasOneRecords($method, $modelName, $modelRelation, Phalcon\Mvc\ModelInterface $record, $parameters = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Manager::getHasOneRecords(string $method, string $modelName, $modelRelation, Phalcon\Mvc\ModelInterface $record, $parameters = NULL): Phalcon\Mvc\ModelInterface must be compatible with Phalcon\Mvc\Model\ManagerInterface::getHasOneRecords($method, $modelName, $modelRelation, Phalcon\Mvc\ModelInterface $record, $parameters = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Manager::getRelations(string $modelName): Phalcon\Mvc\Model\RelationInterface must be compatible with Phalcon\Mvc\Model\ManagerInterface::getRelations($modelName) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Manager::getRelations(string $modelName): Phalcon\Mvc\Model\RelationInterface must be compatible with Phalcon\Mvc\Model\ManagerInterface::getRelations($modelName) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Manager::getRelationsBetween(string $first, string $second): Phalcon\Mvc\Model\RelationInterface must be compatible with Phalcon\Mvc\Model\ManagerInterface::getRelationsBetween($first, $second) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Manager::getRelationsBetween(string $first, string $second): Phalcon\Mvc\Model\RelationInterface must be compatible with Phalcon\Mvc\Model\ManagerInterface::getRelationsBetween($first, $second) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Manager::createQuery(string $phql): Phalcon\Mvc\Model\QueryInterface must be compatible with Phalcon\Mvc\Model\ManagerInterface::createQuery($phql) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Manager::createQuery(string $phql): Phalcon\Mvc\Model\QueryInterface must be compatible with Phalcon\Mvc\Model\ManagerInterface::createQuery($phql) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Manager::executeQuery(string $phql, $placeholders = NULL, $types = NULL): Phalcon\Mvc\Model\QueryInterface must be compatible with Phalcon\Mvc\Model\ManagerInterface::executeQuery($phql, $placeholders = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Manager::executeQuery(string $phql, $placeholders = NULL, $types = NULL): Phalcon\Mvc\Model\QueryInterface must be compatible with Phalcon\Mvc\Model\ManagerInterface::executeQuery($phql, $placeholders = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Manager::notifyEvent(string $eventName, Phalcon\Mvc\ModelInterface $model) must be compatible with Phalcon\Mvc\Model\ManagerInterface::notifyEvent($eventName, Phalcon\Mvc\ModelInterface $model) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Manager::notifyEvent(string $eventName, Phalcon\Mvc\ModelInterface $model) must be compatible with Phalcon\Mvc\Model\ManagerInterface::notifyEvent($eventName, Phalcon\Mvc\ModelInterface $model) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Manager::missingMethod(Phalcon\Mvc\ModelInterface $model, string $eventName, $data) must be compatible with Phalcon\Mvc\Model\ManagerInterface::missingMethod(Phalcon\Mvc\ModelInterface $model, $eventName, $data) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Manager::missingMethod(Phalcon\Mvc\ModelInterface $model, string $eventName, $data) must be compatible with Phalcon\Mvc\Model\ManagerInterface::missingMethod(Phalcon\Mvc\ModelInterface $model, $eventName, $data) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Message::setType(string $type): Phalcon\Mvc\Model\Message must be compatible with Phalcon\Mvc\Model\MessageInterface::setType($type) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Message::setType(string $type): Phalcon\Mvc\Model\Message must be compatible with Phalcon\Mvc\Model\MessageInterface::setType($type) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Message::setMessage(string $message): Phalcon\Mvc\Model\Message must be compatible with Phalcon\Mvc\Model\MessageInterface::setMessage($message) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Message::setMessage(string $message): Phalcon\Mvc\Model\Message must be compatible with Phalcon\Mvc\Model\MessageInterface::setMessage($message) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Message::__set_state(array $message): Phalcon\Mvc\Model\Message must be compatible with Phalcon\Mvc\Model\MessageInterface::__set_state(array $message): Phalcon\Mvc\Model\MessageInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Message::__set_state(array $message): Phalcon\Mvc\Model\Message must be compatible with Phalcon\Mvc\Model\MessageInterface::__set_state(array $message): Phalcon\Mvc\Model\MessageInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData\Apc::read(string $key): ?null must be compatible with Phalcon\Mvc\Model\MetaDataInterface::read($key) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData\Apc::read(string $key): ?null must be compatible with Phalcon\Mvc\Model\MetaDataInterface::read($key) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData\Apc::write(string $key, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::write($key, $data) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData\Apc::write(string $key, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::write($key, $data) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData\Apcu::read(string $key): ?null must be compatible with Phalcon\Mvc\Model\MetaDataInterface::read($key) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData\Apcu::read(string $key): ?null must be compatible with Phalcon\Mvc\Model\MetaDataInterface::read($key) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData\Apcu::write(string $key, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::write($key, $data) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData\Apcu::write(string $key, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::write($key, $data) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData\Files::read(string $key) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::read($key) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData\Files::read(string $key) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::read($key) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData\Files::write(string $key, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::write($key, $data) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData\Files::write(string $key, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::write($key, $data) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData\Libmemcached::read(string $key): ?null must be compatible with Phalcon\Mvc\Model\MetaDataInterface::read($key) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData\Libmemcached::read(string $key): ?null must be compatible with Phalcon\Mvc\Model\MetaDataInterface::read($key) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData\Libmemcached::write(string $key, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::write($key, $data) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData\Libmemcached::write(string $key, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::write($key, $data) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData\Memcache::read(string $key): ?null must be compatible with Phalcon\Mvc\Model\MetaDataInterface::read($key) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData\Memcache::read(string $key): ?null must be compatible with Phalcon\Mvc\Model\MetaDataInterface::read($key) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData\Memcache::write(string $key, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::write($key, $data) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData\Memcache::write(string $key, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::write($key, $data) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData\Memory::read(string $key) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::read($key) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData\Memory::read(string $key) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::read($key) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData\Memory::write(string $key, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::write($key, $data) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData\Memory::write(string $key, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::write($key, $data) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData\Redis::read(string $key): ?null must be compatible with Phalcon\Mvc\Model\MetaDataInterface::read($key) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData\Redis::read(string $key): ?null must be compatible with Phalcon\Mvc\Model\MetaDataInterface::read($key) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData\Redis::write(string $key, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::write($key, $data) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData\Redis::write(string $key, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::write($key, $data) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData\Session::read(string $key) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::read($key) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData\Session::read(string $key) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::read($key) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData\Session::write(string $key, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::write($key, $data) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData\Session::write(string $key, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::write($key, $data) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData\Xcache::read(string $key) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::read($key) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData\Xcache::read(string $key) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::read($key) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\MetaData\Xcache::write(string $key, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::write($key, $data) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\MetaData\Xcache::write(string $key, $data) must be compatible with Phalcon\Mvc\Model\MetaDataInterface::write($key, $data) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Query\Builder::join(string $model, $conditions = NULL, $alias = NULL, $type = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::join($model, $conditions = NULL, $alias = NULL, $type = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Query\Builder::join(string $model, $conditions = NULL, $alias = NULL, $type = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::join($model, $conditions = NULL, $alias = NULL, $type = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Query\Builder::innerJoin(string $model, $conditions = NULL, $alias = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::innerJoin($model, $conditions = NULL, $alias = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Query\Builder::innerJoin(string $model, $conditions = NULL, $alias = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::innerJoin($model, $conditions = NULL, $alias = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Query\Builder::leftJoin(string $model, $conditions = NULL, $alias = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::leftJoin($model, $conditions = NULL, $alias = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Query\Builder::leftJoin(string $model, $conditions = NULL, $alias = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::leftJoin($model, $conditions = NULL, $alias = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Query\Builder::rightJoin(string $model, $conditions = NULL, $alias = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::rightJoin($model, $conditions = NULL, $alias = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Query\Builder::rightJoin(string $model, $conditions = NULL, $alias = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::rightJoin($model, $conditions = NULL, $alias = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Query\Builder::andWhere(string $conditions, $bindParams = NULL, $bindTypes = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::andWhere($conditions, $bindParams = NULL, $bindTypes = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Query\Builder::andWhere(string $conditions, $bindParams = NULL, $bindTypes = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::andWhere($conditions, $bindParams = NULL, $bindTypes = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Query\Builder::orWhere(string $conditions, $bindParams = NULL, $bindTypes = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::orWhere($conditions, $bindParams = NULL, $bindTypes = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Query\Builder::orWhere(string $conditions, $bindParams = NULL, $bindTypes = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::orWhere($conditions, $bindParams = NULL, $bindTypes = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Query\Builder::betweenWhere(string $expr, $minimum, $maximum, ?string $operator = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::betweenWhere($expr, $minimum, $maximum, ?string $operator = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Query\Builder::betweenWhere(string $expr, $minimum, $maximum, ?string $operator = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::betweenWhere($expr, $minimum, $maximum, ?string $operator = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Query\Builder::notBetweenWhere(string $expr, $minimum, $maximum, ?string $operator = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::notBetweenWhere($expr, $minimum, $maximum, ?string $operator = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Query\Builder::notBetweenWhere(string $expr, $minimum, $maximum, ?string $operator = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::notBetweenWhere($expr, $minimum, $maximum, ?string $operator = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Query\Builder::inWhere(string $expr, array $values, ?string $operator = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::inWhere(string $expr, array $values, ?string $operator = NULL): Phalcon\Mvc\Model\Query\BuilderInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Query\Builder::inWhere(string $expr, array $values, ?string $operator = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::inWhere(string $expr, array $values, ?string $operator = NULL): Phalcon\Mvc\Model\Query\BuilderInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Query\Builder::notInWhere(string $expr, array $values, ?string $operator = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::notInWhere(string $expr, array $values, ?string $operator = NULL): Phalcon\Mvc\Model\Query\BuilderInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Query\Builder::notInWhere(string $expr, array $values, ?string $operator = NULL): Phalcon\Mvc\Model\Query\Builder must be compatible with Phalcon\Mvc\Model\Query\BuilderInterface::notInWhere(string $expr, array $values, ?string $operator = NULL): Phalcon\Mvc\Model\Query\BuilderInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Resultset\Complex::unserialize(string $data) must be compatible with Serializable::unserialize($serialized) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Resultset\Complex::unserialize(string $data) must be compatible with Serializable::unserialize($serialized) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Resultset\Simple::unserialize(string $data) must be compatible with Serializable::unserialize($serialized) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Resultset\Simple::unserialize(string $data) must be compatible with Serializable::unserialize($serialized) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Row::setDirtyState(int $dirtyState): bool must be compatible with Phalcon\Mvc\Model\ResultInterface::setDirtyState($dirtyState) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Row::setDirtyState(int $dirtyState): bool must be compatible with Phalcon\Mvc\Model\ResultInterface::setDirtyState($dirtyState) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Row::offsetUnset(int $offset) must be compatible with ArrayAccess::offsetUnset($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Row::offsetUnset(int $offset) must be compatible with ArrayAccess::offsetUnset($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Model\Transaction::rollback($rollbackMessage = NULL, ?Phalcon\Mvc\ModelInterface $rollbackRecord = NULL): bool must be compatible with Phalcon\Mvc\Model\TransactionInterface::rollback(?string $rollbackMessage = NULL, ?Phalcon\Mvc\ModelInterface $rollbackRecord = NULL) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Model\Transaction::rollback($rollbackMessage = NULL, ?Phalcon\Mvc\ModelInterface $rollbackRecord = NULL): bool must be compatible with Phalcon\Mvc\Model\TransactionInterface::rollback(?string $rollbackMessage = NULL, ?Phalcon\Mvc\ModelInterface $rollbackRecord = NULL) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Router\Route::setHostname(string $hostname): Phalcon\Mvc\Router\Route must be compatible with Phalcon\Mvc\Router\RouteInterface::setHostname(string $hostname): Phalcon\Mvc\Router\RouteInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Router\Route::setHostname(string $hostname): Phalcon\Mvc\Router\Route must be compatible with Phalcon\Mvc\Router\RouteInterface::setHostname(string $hostname): Phalcon\Mvc\Router\RouteInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Router\Route::setHttpMethods($httpMethods): Phalcon\Mvc\Router\Route must be compatible with Phalcon\Mvc\Router\RouteInterface::setHttpMethods($httpMethods): Phalcon\Mvc\Router\RouteInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Router\Route::setHttpMethods($httpMethods): Phalcon\Mvc\Router\Route must be compatible with Phalcon\Mvc\Router\RouteInterface::setHttpMethods($httpMethods): Phalcon\Mvc\Router\RouteInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Url::get($uri = NULL, $args = NULL, $local = NULL, $baseUri = NULL): string must be compatible with Phalcon\Mvc\UrlInterface::get($uri = NULL, $args = NULL, ?bool $local = NULL): string in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Url::get($uri = NULL, $args = NULL, $local = NULL, $baseUri = NULL): string must be compatible with Phalcon\Mvc\UrlInterface::get($uri = NULL, $args = NULL, ?bool $local = NULL): string in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\Url::path(?string $path = NULL): string must be compatible with Phalcon\Mvc\UrlInterface::path($path = NULL): string in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\Url::path(?string $path = NULL): string must be compatible with Phalcon\Mvc\UrlInterface::path($path = NULL): string in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\View::setRenderLevel(int $level): Phalcon\Mvc\View must be compatible with Phalcon\Mvc\ViewInterface::setRenderLevel(string $level) in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\View::setRenderLevel(int $level): Phalcon\Mvc\View must be compatible with Phalcon\Mvc\ViewInterface::setRenderLevel(string $level) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\View::partial(string $partialPath, $params = NULL) must be compatible with Phalcon\Mvc\ViewBaseInterface::partial(string $partialPath, $params = NULL): string in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\View::partial(string $partialPath, $params = NULL) must be compatible with Phalcon\Mvc\ViewBaseInterface::partial(string $partialPath, $params = NULL): string in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\View\Simple::getParamsToView() must be compatible with Phalcon\Mvc\ViewBaseInterface::getParamsToView(): null in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\View\Simple::getParamsToView() must be compatible with Phalcon\Mvc\ViewBaseInterface::getParamsToView(): null in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Mvc\View\Simple::partial(string $partialPath, $params = NULL) must be compatible with Phalcon\Mvc\ViewBaseInterface::partial(string $partialPath, $params = NULL): string in Unknown on line 0

Fatal error: Declaration of Phalcon\Mvc\View\Simple::partial(string $partialPath, $params = NULL) must be compatible with Phalcon\Mvc\ViewBaseInterface::partial(string $partialPath, $params = NULL): string in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Paginator\Factory::load($config): Phalcon\Paginator\AdapterInterface must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0

Fatal error: Declaration of Phalcon\Paginator\Factory::load($config): Phalcon\Paginator\AdapterInterface must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Registry::offsetExists(string $offset): bool must be compatible with ArrayAccess::offsetExists($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Registry::offsetExists(string $offset): bool must be compatible with ArrayAccess::offsetExists($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Registry::offsetGet(string $offset): null must be compatible with ArrayAccess::offsetGet($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Registry::offsetGet(string $offset): null must be compatible with ArrayAccess::offsetGet($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Registry::offsetSet(string $offset, $value) must be compatible with ArrayAccess::offsetSet($offset, $value) in Unknown on line 0

Fatal error: Declaration of Phalcon\Registry::offsetSet(string $offset, $value) must be compatible with ArrayAccess::offsetSet($offset, $value) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Registry::offsetUnset(string $offset) must be compatible with ArrayAccess::offsetUnset($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Registry::offsetUnset(string $offset) must be compatible with ArrayAccess::offsetUnset($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Session\Adapter\Libmemcached::destroy(?string $sessionId = NULL): bool must be compatible with Phalcon\Session\Adapter::destroy(?bool $removeData = NULL): bool in Unknown on line 0

Fatal error: Declaration of Phalcon\Session\Adapter\Libmemcached::destroy(?string $sessionId = NULL): bool must be compatible with Phalcon\Session\Adapter::destroy(?bool $removeData = NULL): bool in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Session\Adapter\Memcache::destroy(?string $sessionId = NULL): bool must be compatible with Phalcon\Session\Adapter::destroy(?bool $removeData = NULL): bool in Unknown on line 0

Fatal error: Declaration of Phalcon\Session\Adapter\Memcache::destroy(?string $sessionId = NULL): bool must be compatible with Phalcon\Session\Adapter::destroy(?bool $removeData = NULL): bool in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Session\Adapter\Redis::destroy(?string $sessionId = NULL): bool must be compatible with Phalcon\Session\Adapter::destroy(?bool $removeData = NULL): bool in Unknown on line 0

Fatal error: Declaration of Phalcon\Session\Adapter\Redis::destroy(?string $sessionId = NULL): bool must be compatible with Phalcon\Session\Adapter::destroy(?bool $removeData = NULL): bool in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Session\Bag::get(string $property, $defaultValue = NULL) must be compatible with Phalcon\Session\BagInterface::get(string $property, $defaultValue = NULL): null in Unknown on line 0

Fatal error: Declaration of Phalcon\Session\Bag::get(string $property, $defaultValue = NULL) must be compatible with Phalcon\Session\BagInterface::get(string $property, $defaultValue = NULL): null in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Session\Bag::offsetExists(string $property): bool must be compatible with ArrayAccess::offsetExists($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Session\Bag::offsetExists(string $property): bool must be compatible with ArrayAccess::offsetExists($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Session\Bag::offsetGet(string $property): null must be compatible with ArrayAccess::offsetGet($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Session\Bag::offsetGet(string $property): null must be compatible with ArrayAccess::offsetGet($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Session\Bag::offsetSet(string $property, $value) must be compatible with ArrayAccess::offsetSet($offset, $value) in Unknown on line 0

Fatal error: Declaration of Phalcon\Session\Bag::offsetSet(string $property, $value) must be compatible with ArrayAccess::offsetSet($offset, $value) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Session\Bag::offsetUnset(string $property) must be compatible with ArrayAccess::offsetUnset($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Session\Bag::offsetUnset(string $property) must be compatible with ArrayAccess::offsetUnset($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Session\Factory::load($config): Phalcon\Session\AdapterInterface must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0

Fatal error: Declaration of Phalcon\Session\Factory::load($config): Phalcon\Session\AdapterInterface must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Translate\Adapter::offsetExists(string $translateKey): bool must be compatible with ArrayAccess::offsetExists($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Translate\Adapter::offsetExists(string $translateKey): bool must be compatible with ArrayAccess::offsetExists($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Translate\Adapter::offsetGet(string $translateKey) must be compatible with ArrayAccess::offsetGet($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Translate\Adapter::offsetGet(string $translateKey) must be compatible with ArrayAccess::offsetGet($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Translate\Adapter::offsetExists(string $translateKey): bool must be compatible with ArrayAccess::offsetExists($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Translate\Adapter::offsetExists(string $translateKey): bool must be compatible with ArrayAccess::offsetExists($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Translate\Adapter::offsetGet(string $translateKey) must be compatible with ArrayAccess::offsetGet($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Translate\Adapter::offsetGet(string $translateKey) must be compatible with ArrayAccess::offsetGet($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Translate\Adapter::offsetExists(string $translateKey): bool must be compatible with ArrayAccess::offsetExists($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Translate\Adapter::offsetExists(string $translateKey): bool must be compatible with ArrayAccess::offsetExists($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Translate\Adapter::offsetGet(string $translateKey) must be compatible with ArrayAccess::offsetGet($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Translate\Adapter::offsetGet(string $translateKey) must be compatible with ArrayAccess::offsetGet($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Translate\Factory::load($config): Phalcon\Translate\AdapterInterface must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0

Fatal error: Declaration of Phalcon\Translate\Factory::load($config): Phalcon\Translate\AdapterInterface must be compatible with Phalcon\FactoryInterface::load($config): NULL in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Validation\Message::__set_state(array $message): Phalcon\Validation\Message must be compatible with Phalcon\Validation\MessageInterface::__set_state(array $message): Phalcon\Validation\MessageInterface in Unknown on line 0

Fatal error: Declaration of Phalcon\Validation\Message::__set_state(array $message): Phalcon\Validation\Message must be compatible with Phalcon\Validation\MessageInterface::__set_state(array $message): Phalcon\Validation\MessageInterface in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Validation\Message\Group::offsetExists(string $index): bool must be compatible with ArrayAccess::offsetExists($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Validation\Message\Group::offsetExists(string $index): bool must be compatible with ArrayAccess::offsetExists($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Validation\Message\Group::offsetGet(int $index): Phalcon\Validation\Message must be compatible with ArrayAccess::offsetGet($offset) in Unknown on line 0

Fatal error: Declaration of Phalcon\Validation\Message\Group::offsetGet(int $index): Phalcon\Validation\Message must be compatible with ArrayAccess::offsetGet($offset) in Unknown on line 0
PHP Fatal error:  Declaration of Phalcon\Validation\Message\Group::offsetSet(int $index, $message) must be compatible with ArrayAccess::offsetSet($offset, $value) in Unknown on line 0

Fatal error: Declaration of Phalcon\Validation\Message\Group::offsetSet(int $index, $message) must be compatible with ArrayAccess::offsetSet($offset, $value) in Unknown on line 0
PHP 7.2.1 (cli) (built: Feb  8 2018 17:01:26) ( NTS DEBUG )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.2.1, Copyright (c) 1999-2017, by Zend Technologies
    with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans
danhunsaker commented 6 years ago

Yeah, PHP requires consistent type hints between classes and their parent classes/interfaces. Which means Phalcon will need to be updated to address those inconsistencies.

sergeyklay commented 6 years ago

Well, we can do this in Phalcon for 4.0.x branch only. So I'll cherry pick some commits from the current Zephir's development branch to create a minor (patch) release without type casting/hinting