2017-06-12 67 views
-1

我在學習角度,並且我得到了一個輸出電影標題的角度表達式{{movie.title}}。如果我將它包含在一些php中,如將角度表達式添加到php中

$movTitle = "{{movie.title}}"; 
echo $movTitle; 

它打印電影標題。但是,如果我發送$ movTitle函數,它不會被解析。

$movieArray = $imdb->getMovieInfo("$movTitle"); // doesn't get movie info 
// $movieArray = $imdb->getMovieInfo("Scarface"); // gets movie info 

有關將電影標題發送到php函數的最佳方法的任何想法?

--update--

我想這可能是一些簡單的我錯過了,但它似乎更復雜一點我已經添加的頁面代碼多一點背景。我聲明組件templateUrl:'movie.component.php',這是該文件。

<?php 
include("/path/imdb.php"); 
?> 
<div *ngIf="movie"> 
    <div class="panel panel-default"> 
     <div class="panel-heading"> 
      <h1>{{movie.title}}</h1>  
     </div> 
     <div class="panel-body"> 
      <div class="row"> 
       <div class="col-md-5"> 
        <img class="thumbnail" src="http://image.tmdb.org/t/p/w500/{{movie.poster_path}}"> 
       </div>  
       <div class="col-md-7"> 
        <ul class="list-group"> 
         <li class="list-group-item">Genres: <span *ngFor="let genre of movie.genres">{{genre.name}}</span></li>  
         <li class="list-group-item">Release Date: {{movie.release_date}}</li> 
        </ul> 
        <br> 
        <a *ngIf="movie.homepage" href="{{movie.homepage}}" target="_blank" class="btn btn-default">Visit Movie Website</a> 

<?php 
     $movTitle = "{{movie.title}}"; 
     $imdb = new Imdb(); 
     $movieArray = $imdb->getMovieInfo("$movTitle"); 
     echo '<table align=center style="color:white;font-family:verdana;font-size:15px;line-height:1.7;" cellpadding="30" cellspacing="1" border="1" width="100%" align="center">'; 
     foreach ($movieArray as $key=>$value){ 
      $value = is_array($value)?implode("<br />", $value):$value; 
      echo '<tr>'; 
      echo '<th align="left" valign="top">' . 
      str_replace("_","&nbsp;",strtoupper($key)) . '</th><td>' . $value . 
     '</td>'; 
      echo '</tr>'; 
     } 
     echo '</table>'; 
?>     

       </div> 
      </div> 
     </div> 
    </div>  
</div> 

IMDB功能導入有關影片的其他詳細信息。我想這個功能在這個頁面上執行。我想我需要將php放在後面,使用$ http發佈電影標題,然後在頁面上呈現返回的數據(表格)。

+2

就您的PHP而言,'$ movTitle'只會永遠等於'「{{movie.title}}」'。我對你如何合併使用PHP和Angular有點困惑? – Tom

+0

我聲明組件templateUrl:'movie.component.php',並且在這個文件中我想分析電影標題 – Stev

+0

您的PHP存在於服務器上,並且不應該知道您的Angular代碼。您使用Angular通過API HTTP調用請求來自PHP服務器的數據,您不應該試圖在相同的位置合併這兩個數據。 – Tom

回答

0

您需要使用AngularJs向您的PHP後端的端點發出請求,並且您將發送電影標題以及此請求。您可以在這裏看看:https://www.w3schools.com/angular/angular_http.asp以瞭解如何使用Angular中的$ http服務完成ajax請求。

+0

謝謝。我會跟着那個 – Stev

+0

沒問題。如果你喜歡答案,請接受它。 – GullDe

+0

@Stev如果你使用的是Angular,那個鏈接是錯誤的地方,因爲那是** AngularJS **。請查看Angular的官方文檔,而不是:https://angular.io/docs/ts/latest/tutorial/toh-pt6.html也就是說,如果您使用* Angular *而不是* AngularJS * – Alex

相關問題