Dołącz do zespołu ekspertów! Backend lub Frontend Developer?

Sprawdź najnowsze oferty pracy naszego partnera - 8lines.io!

Wspólny standard pisania pluginów

Założony przez  NiespecjalnieUzdolniony.

Witam,
Jako że męczę się z zachłannością pluginu na kolorowe nicki postanowiłem napisać tutaj propozycję ustandaryzowania kilku rzeczy.
Sam projekt ma za zadanie poprawić kompatybilność pluginów osób, które postanowią stosować się do zaleceń tego nieoficjalnego standardu nie wpływając zbytnio na wydajność.

Jeżeli macie jakieś sugestie piszcie śmiało.

Ja ze swojej strony podam pierwszy projekt, który mam nadzieję będzie użyteczny.


System strażników
Zmienne byłyby wstawiane podobnie jak bloki w twigu.
Cytat:Przykład 1.1
<p>
    <span>
        {+NAME-OF-PLUGIN+}Zmienna1|Zmienna2|Zmienna3{+ENDofBLOCK+}
        Lorem Ipsum
    </span>
</p>

Zmienne z bloków nie mogą być o wartości {+ENDofBLOCK+} jednak dzięki bloku  {+.*?+} nie były by naruszane przez inne pluginy stosujące się do tego standardu.
Kiedy ma znaczenie stosowanie tego sposobu zapisu? Gdy np wpływamy na zmienne, które może wykorzystywać inny plugin. Dzięki temu zabiegowi możemy bez problemu używać zmiennych mybb bez obawy że inny kompatybilny plugin coś w nich zmienni. Może być to przydatne np przy wstawianiu zmiennych w szablon w miejscu zmiennej mybb.

Pozdrawiam
Jak czytasz mój post to sprawdź czy go nie zedytowałem bo niezdecydowany jestem.
O ile dobrze rozumiem, to nie ma to za bardzo sensu - bo czasami (raczej częściej niż rzadziej) następuje konieczność nie tyle dodania czegoś, co zmodyfikowania całej zawartości zmiennej, właśnie ze względu na np. ograniczenia hooków.
A to z czym masz problem, czyli zachłanność, jest do rozwiązania za pomocą priorytetowania hooków, kolorowe nicki zostawiają spory zapas pod tym względem.
No właśnie tak kolorowo nie jest. Dobieram się do zmiennej a tenże plugin mi ją przekształca nieważne czy ustawię priorytet 5 czy 15
Jak czytasz mój post to sprawdź czy go nie zedytowałem bo niezdecydowany jestem.
Sorry, ale coś tu bajerujesz :)
Taki przykładzik z modyfikacji tego pluginu.

1. Dodanie nowej funkcji na hook, ale o niższym priorytecie:


$plugins->add_hook('build_forumbits_forum''my_function'11);

function 
my_function(&$arg) {
    $arg['lastposter'] = '#AAAA#' $arg['lastposter'] . '#';



Efekt:

   


No i na output można z tym już zrobić co się zechce.
tylko że ja działam na hooku pre_output_page
a w szablon wstawiam coś takiego {+LIGHTAVATARS+}forumdisplay_thread_lastpost|{$lastposterlink}{+ENDofBLOCK+}
Wiesz takie obejście ograniczeń hooków troszkę :D
Jak czytasz mój post to sprawdź czy go nie zedytowałem bo niezdecydowany jestem.
Nadal nie widze w tym problemu, kolorwe nicki robią coś bardzo podobnego, również przez ograniczenia hooków.
To może podeślę ci plugin? Może tobie uda się znaleźć problem.
Jak czytasz mój post to sprawdź czy go nie zedytowałem bo niezdecydowany jestem.



Użytkownicy przeglądający ten wątek:

1 gości