![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chciałbym wywołać w konsoli akcję, a później wrzucić ją do cronów. Znalazłem prosty przykład jak wyświetlić coś w konsoli czyli:
Ale teraz nie wiem jak zrobić aby wywołać np. akcję z Cron\CronBundle\Controller\DefaultController->indexAction() Prosiłbym o jakąś pomoc i wskazówki |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Hmm skoro chcesz robić coś takiego, to na kontroler mi Twoja klasa (Controller\DefaultController) nie wygląda, prędzej jakiś serwis. A jak utworzyć serwis i się do niego odwołać gdziekolwiek w Symfony2 masz ładne opisy w dokumentacji.
Ten post edytował Damonsson 1.07.2015, 15:31:56 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za radę. Stworzyłem service ale kiedy próbuje się odwołać do niego w EXECUTE w taki sposób:
lub w taki sposób:
dostaję komunikat:
lub
czy coś pominąłem lub co zrobiłem nie tak? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
A rozszerzasz klasę ContainerAwareCommand, zamiast Command?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Tak,próbowałem obu rozszerzeń.
Teraz wygląda totak:
i wywołanie:
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
ee niemożliwe, a treść błędu?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
ale to wskazuje na plik którym rozszerzam czyli ContainerAwareCommand z tej ścieżki: /vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Command/ContainerAwareCommand.php
jak to wywalam to jest fatal error Ten post edytował Michal_Sz 1.07.2015, 21:57:05 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Aaa dobra moje niedopatrzenie nic nie usuwaj, zasugerowałem się poprzednim postem, w którym miałeś taką konstrukcję.
W app/console Zamień
na
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Zmieniłem i pojawiło sie jeszcze coś gorszego:
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Spokojnie, jest lepiej (IMG:style_emoticons/default/smile.gif)
Hmm skąd wziąłeś ten plik app/console? To jakiś wymóg jakiegoś bundle? Teoretycznie tak powinien wyglądać i wtedy wszystko powinno działać: https://github.com/symfony/symfony-demo/blo...ter/app/console Ten post edytował Damonsson 1.07.2015, 22:18:17 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
u mnie to wygląda tak:
gdzieś w Internecie znalazłem taki przykłąd Ten post edytował Michal_Sz 1.07.2015, 22:20:51 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Ok, ale pytanie za sto punktów czemu tak wygląda? Sam go napisałeś? Zamień go na ten który Ci podałem na github, jak nic nie wybuchnie i będzie wszystko działać to ok. A jak coś przestanie działać to będzie większy problem niestety.
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Namieszałem, plik o którym mówisz wygląda dokłądnie tak jak podałeś, to co CI wysłąłem to plik który wywołuje w konsoli.
Plik: appliaction.php:
iw konsoli wywołuje:
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Wiesz co, prościej będzie jak wywalisz wszystko, zainstalujesz po bożemu symfony i po bożemu wg dokumentacji dodasz komendę i serwis (IMG:style_emoticons/default/biggrin.gif) To jest naprawdę banalne i trwa 2 minuty, a te wymyślane pliki typu application_1m.php tylko wszystko pieprzą.
Ale spróbujmy to odratować. A co się stanie jak wywołasz:
lub
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Powiem Ci, ze przepisywanie wszystkiego na nowo to byłaby masakra, ale Twoje rozwiązanie pomogło i mogę to wywołać, a przynajmniej się nie wysypuje. Muszę dokońćzyć funkcję, żeby coś wyciagać z indexAction i wtedy będę pewny czy jest ok bo na tą chwilę zwraca mi:
NIe bardzo jednak rozumiem dlaczego akurat phax:action wywołuje a np. jeśli w innym pliku jest phax:action1 to już nie Ten post edytował Michal_Sz 1.07.2015, 22:51:53 |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Ok czyli
działa poprawnie? Teoretycznie dla swojego pliku application_1m.php mógłbyś stworzyć taką samą strukturę jak jest w app/console i ją wywoływać, ale że musisz przekazać AppKernel, skoro chcesz się odwołać do serwisu to nie miałoby żadnego sensu bo i tak miałbyś wszystkie komendy z symfony. NIe bardzo jednak rozumiem dlaczego akurat phax:action wywołuje a np. jeśli w innym pliku jest phax:action1 to już nie To znaczy? phax:action tak nazwałeś swoją komendę, jak chcesz móc wywołać phax:action1, to musisz taką stworzyć. Ten post edytował Damonsson 1.07.2015, 22:56:43 |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
działa poprawnie, tylko nadal nie rozumiem jednego. Sworzyłem plik w takiej ścieżce: gdzie faktycznie jest komenda - i ją wywołuje tak jak wyżej Stworzyłem plik w takiej ścieżce: gdzie jest komenda - i już tego nie mogę wywołać w ten sposób - bo jest błąd że komenda nie istnieje. Szczerze mówiąc nie kojarzę żebym coś jeszcze robił aby wywołać:
|
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 30 Dołączył: 22.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Bez błędów i kodu nie ma odpowiedzi, szklana kula gdzieś zagineła (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 30 Dołączył: 22.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
wklej cale źródło pliku src\Cron\Cron1mBundle\Command\TestCommand1.php
Ten post edytował prz3kus 2.07.2015, 07:19:27 |
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował Michal_Sz 2.07.2015, 07:25:18 |
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 30 Dołączył: 22.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
no to jeszcze wklej metode action1 z kontrolera phax
Pozatym pytanie czy czsami nie prościej sobie wywołac jakieś zapytanie czy cuś (IMG:style_emoticons/default/smile.gif) odrazu w tej klasie Tutaj jedno z moich zadań robiące update do bazy
|
|
|
![]()
Post
#27
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ta metoda action1 okazuje się, że nie ma znaczenia, bo czy ona jest czy nie ma błąd jest ten sam.
Właściwie to był bo dorzuciłem do app/config/config.yml:
i teraz widzi mi komendę:
z konsoli już to mogę uruchomić, ale nie rozumiem jednej rzeczy, bo wcześniej nie rejestrowałem w configu komendy a mimo to działa |
|
|
![]()
Post
#28
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Bo dodałeś 1 na końcu, zrób komendę Test1Command to nic nie będziesz musiał dodawać. Zamiast marnować czas na forum przez ten czas przeczytałbyś tę dokumentację Symfony w końcu, tam jest WSZYSTKO o co pytasz.
Pozatym pytanie czy czsami nie prościej sobie wywołac jakieś zapytanie czy cuś (IMG:style_emoticons/default/smile.gif) odrazu w tej klasie Tutaj jedno z moich zadań robiące update do bazy
A tak broń Boże się nie ucz pisać, bo nie ma to nic wspólnego z OOP, nie mówiąc o napisaniu do tego testów. Ten post edytował Damonsson 2.07.2015, 09:38:54 |
|
|
![]()
Post
#29
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dokumentację czytam, ale bywa tak że najprostsze rzeczy bardzo się komplikują.
Dzięki za pomoc. |
|
|
![]()
Post
#30
|
|
Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zamiast marnować czas na forum przez ten czas przeczytałbyś tę dokumentację Symfony w końcu, tam jest WSZYSTKO o co pytasz. Idąc Twoim tokiem myślenia to nie powinno być for dyskusyjnych bo przecież do każdego języka/frameworka jest dokumentacja, a jak nie to przecież można kod źródłowy przeanalizować... (IMG:style_emoticons/default/facepalmxd.gif) |
|
|
![]()
Post
#31
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
@aras785 Weź wyjdź przeczytaj jakąś netykietę, poradnik jak zadawać pytania, poczytaj o akronimie RTFM i skąd się wziął, wróć i przeproś.
Chętnie pomagam każdej osobie na forum, a sugestia zajrzenia do dokumentacji to też pomoc, bo po co ma czekać, aż ja za niego przeczytam dokumentację, przetłumaczę i opiszę co jest w niej napisane? |
|
|
![]()
Post
#32
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 9.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
witam ponownie,
Pojawił sie u mnie jeszcze jeden problem dotyczący wywoływania akcji z poziomu konsoli. Udaje mi się wywoływać proste akcje z poziomu konsoli. Opisuje po kolei bo może coś pominąłem. Posiadam kontroler:
Stworzyłem serwis, aby odwływać się do tej akcji i wygląda to tak:
Kiedy w konsoli odwołuje się do tego poprzez:
to jest OK, ale dlatego, że do indexAction przekazuje:
Jeśli natomiast nie przekazywałbym tego do akcji, ale wywoływał to w samej akcji czyli:
to wtedy dostaję błąd:
Z czego to może wynikać? Myślę, że takie rozwiązanie jest błędne, poza tym cokolwiek bym nie chciał wywołać w tej akcji, choćby serwis to musiałbym wszystko przekazywać do akcji. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 11:54 |