• 06-01-2022, 12:50:17
    #1
    Merhabalar öncelikle php router olarak https://github.com/izniburak/php-router bunu kullanıyorum.

    Yapmak istediğim olay şu, örneğin Controller klasörü içersinide klasör içinden çağırmak istiyorum dosyayı AdminDashboard@index mesela bu tarz ama yapan arkadaş bunu yapmışmı tam göremedim bilen varsa yardımcı olursa çok iyi olur.


    $router->get('/','Admin/Dashboard@index'); bu tarz kullanmak istiyorum aslında ama tam kullanım şeklini anlayamadım veya arkadaşın yaptığı router sınıfında böyle birşey varmı göremedim.




  • 06-01-2022, 15:15:04
    #2
    öncelikle composer.json dosyanızda psr-4 kullanarak classları autoload etmek iyi olacaktır.

    <?php
    require_once 'vendor/autoload.php';
    use Core\Helpers\Upload;
    gibi kullanabilmek için

    composer.json dosyasına alttaki kısmı yoksa ekleyip. terminalede projenizin olduğu klasörde composer dump-autoload yapmanız yeterli olacaktır.
    "autoload": {
      "psr-4": {
          "App\\": "App",
          "Core\\": "Core"
       }
    }
    Sizin problemin çözümüne gelir isek.

    <?php
    // bunun çalışması için App/Controllers/home.php class ı içinde index methodu olmak zorunda
    $router->get('/', 'home@index');
  • 06-01-2022, 15:59:10
    #3
    Birçok router denedim en sağlıklısı bu olarak göründü bana https://github.com/bramus/router tavsiye ederim.
  • 06-01-2022, 19:33:10
    #4
    celalyesil adlı üyeden alıntı: mesajı görüntüle
    Birçok router denedim en sağlıklısı bu olarak göründü bana https://github.com/bramus/router tavsiye ederim.
    hocam galiba bu routerı denemiştim 1 2 hafta önce şu tarz bi sorun alıyorum örneğin siteadi.com/admin/ sondaki / kalkınca direk sayfayı tanımıyor çok saçma bir sorun ama yaşıyorum bu sorunu
  • 06-01-2022, 19:41:32
    #5
    admozmrmr adlı üyeden alıntı: mesajı görüntüle
    öncelikle composer.json dosyanızda psr-4 kullanarak classları autoload etmek iyi olacaktır.

    <?php
    require_once 'vendor/autoload.php';
    use Core\Helpers\Upload;
    gibi kullanabilmek için

    composer.json dosyasına alttaki kısmı yoksa ekleyip. terminalede projenizin olduğu klasörde composer dump-autoload yapmanız yeterli olacaktır.
    "autoload": {
      "psr-4": {
          "App\\": "App",
          "Core\\": "Core"
       }
    }
    Sizin problemin çözümüne gelir isek.

    <?php
    // bunun çalışması için App/Controllers/home.php class ı içinde index methodu olmak zorunda
    $router->get('/', 'home@index');
    hocam galiba tam anlatamadım, home@index sistemi çalışıyor onda sıkıntı yok ben klasör içinden çağırmak istiyorum yani şöyle App/Controllers/Deneme/Test.php içindeki index methoduna ulaşmak istiyorum, Controllersda klasör içindeki methoda ulaşmak istiyorum
  • 07-01-2022, 20:55:41
    #6
    Dökümantasyonu okuyun;

    If there are some else directory in Controllers directory like Backend, Api or something else, you can define routes as following:

    $router->get('/create', 'Backend.IndexController@create');
    $router->post('/store', 'Backend.IndexController@store');
    # OR 
    
    $router->get('/create', 'Backend\\IndexController@create');
    $router->post('/store', 'Backend\\IndexController@store');
    # OR
    
    $router->get('/create', [Backend\IndexController::class, 'create']);
    $router->post('/store', [Backend\IndexController::class, 'store']);