2011-11-23 10 views
7

Posiadam witrynę o dużym natężeniu ruchu, która prowadzi działalność w Stanach Zjednoczonych i Kanadzie. Mamy wiele serwerów, ale chcę się upewnić, że jest w 100% dostępny bez żadnych opóźnień.Budowanie niestandardowego rozszerzenia PHP (.so)

Nauczyłem się tworzyć niestandardowe rozszerzenia (znam trochę C) i chcę tworzyć niestandardowe sprawdzanie poprawności/pliki (ponieważ rozszerzenia PHP działają szybciej).

Nie chcę prosić o wszystkie nowe rozszerzenia od was, ale chcę poznać ogólny pomysł, jak go zbudować (używam CentOS).

Przykład:

Jedna część naszej strony jest śledzenie wysyłki i wymagałoby to kod pocztowy.

Dla USA mam:

function check_usa_postal_code($pc) { 
    return is_numeric($pc); 
} 

Ale dla Kanady, chciałbym zbudować w PHP funkcji niestandardowej jak:

check_canada_postal_code($pc)

Ta funkcja powinna powrócić 1 lub 0.

Dzięki

+4

Najprostszym podejściem jest użycie [SWIG] (http://stackoverflow.com/questions/705443/how-to-mix-up-c-and-php) do zbudowania kodu interfejsu C. W szczególności dla twojej funkcji nie ma sensu. Proszę rozważyć profilowanie zamiast arbitralnych optymalizacji. – mario

Odpowiedz

9

Polecam przeczytać t hese artykuły:

Extension Writing Part I: Introduction to PHP and Zend

How to create PHP extensions – part I: simple functions

A oto jak skompilować:

UNIX: Compiling PHP Extensions

Build PHP extensions with SWIG

(polecam SWIG jak Mario powiedział)

Czytaj więcej na kanadyjskie kody pocztowe pod Postal codes in Canada, ponieważ nie wszystkie litery są używane.

+0

masz przykładowy kod? – apollo

+0

cóż, to nie jest 20-liniowy fragment kodu, sprawdź drugie łącze, daje bardzo dobry przykład, jak to zrobić –

+0

ok, dziękuję za pomoc, wydaje mi się, że jestem do mnie bardzo miły. – apollo

2

Zamiast próbować budować rozszerzenie w C, powinieneś rozważyć skompilowanie swojego kodu źródłowego za pomocą HipHop. To będzie znacznie prostsze i bardzo szybko uruchomi twój kod.

Powiązane problemy