Quercus в Google App Engine: класс не загружается - PullRequest
1 голос
/ 15 марта 2010

Фатальная ошибка: нет соединения с соответствующим классом

index.php

<?php
   import database.connection;
   $connection = connection::get()->getPersistenceManager(); // ***ERROR HERE***
?>

connection.java

package database;

import javax.jdo.JDOHelper;
import javax.jdo.PersistenceManagerFactory;

public final class connection {
    private static final PersistenceManagerFactory pmfInstance =
        JDOHelper.getPersistenceManagerFactory("transactions-optional");

    private connection() {}

    public static PersistenceManagerFactory get() {
        return pmfInstance;
    }
}

В остальном Quercus настроен нормально, реализация PHP работает без проблем на GAE. Но когда я пытаюсь инициализировать классы, PHP не может их найти. Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 01 июня 2010

Ваш класс connection должен расширяться AbstractQuercusModule, как объяснено здесь

1 голос
/ 23 марта 2010

Я обнаружил, что Quercus существует только из-за того, что вы задали этот вопрос!

Мне кажется, что Quercus не может создать экземпляр объекта, потому что класс "connection" имеет закрытый конструктор.

Глядя на документацию, что-то вроде java_class ("database.connection") можно использовать для доступа к статическим методам в классах, которые не могут быть созданы.

...