Conventional reflection in Nette 2.3.1

4 years ago

ok
Member | 10
+
0
-

I'm trying to convert my Nette 2.2.1 application to Nette 2.3.1. I have to use conventional reflection (statc conventions) since I use views which are not supported by discovered reflection. Unfortunately my Apache (Windows 7, PHP 5.3.28, nothing has changed since I changed Nette version) simply crashes (probably in $container->getService(‘application’)->run(); line of index.php) and restarts for any request to application. With discovered reflection everything works (except application, of course, because reflections to views are not resolved).

Does anybody please have any idea how to solve this problem?

4 years ago

hrach
Member | 1812
+
0
-

Crashing will be due to php bug. Try to debugg app to line, which crashes php. Than we can find a workaround.

4 years ago

ok
Member | 10
+
0
-

DI\Container.php line 102: there is no record in $this->registry fo ‘application.application’ and no alias in $this->meta.

4 years ago

hrach
Member | 1812
+
0
-

seems it's not connected with NDB, is it?

4 years ago

ok
Member | 10
+
0
-

hrach wrote:

seems it's not connected with NDB, is it?

I don't know, it crashes :-)

Maybe it has something to do with the utf8mb4 issue but setting option: [charset: utf8] didn't help.

And maybe it has something to do with my Context extension which worked with Nette 2.2.1 and seems to still work with discovered reflection.

4 years ago

ok
Member | 10
+
0
-

It's definitely connected. Some data a read from db before it crashes.

4 years ago

ok
Member | 10
+
0
-

hrach wrote:

seems it's not connected with NDB, is it?

There's an infinite loop in ActiveRow::__get(). When I try to access non-existent table property table->ne, __get tries to find table->ne_id connection which does not exist as well. Then it tries ne_id_id, ne_id_id_id and so on.