У меня есть 2 разных приложения, одно на основе Angular2, а другое на PHP.
Мне нужно вызвать функцию сервиса первого (Angular) из второго (PHP). Возможно ли это, даже если это странно и безобразно?
Я знаю, как вызывать файл PHP внутри приложения Angular, но не иначе.
Вот мои тестовые файлы:
webService.component.ts
import { Component } from '@angular/core';
import {Observable} from "rxjs/Observable";
import {ActivatedRoute, Params} from "@angular/router";
import {WebService} from "./webService.service";
@Component({
selector: 'webService-element',
template: `{{result}}`
})
export class WebServiceComponent {
webService: WebService;
result: any;
constructor(private route: ActivatedRoute, webService: WebService) {
this.webService = webService;
}
ngOnInit() {
this.route.params.subscribe((params: Params) => {
let aId = params['aId'];
let bId = params['bId'];
this.getPif(aId, bId);
});
}
getPif(aId: any, bId: any): any {
this.result = this.webService.getPif();
return this.webService.getPif();
}
}
webService.service.ts
import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { Observable } from 'rxjs/Rx';
@Injectable()
export class WebService {
constructor(private http: Http) {}
//getPif(): Observable<any> {
getPif(): any {
console.log("rraaahhhhh");
return "pif";
}
}
webService.routing.ts
import { Routes, RouterModule } from "@angular/router";
import {WebServiceComponent} from "./webService.component";
const WEBSERVICE_ROUTES: Routes = [
{ path: '', component: WebServiceComponent },
{ path: 'getTest/:aId/:bId', component: WebServiceComponent },
];
export const webServiceRouting = RouterModule.forChild(WEBSERVICE_ROUTES);
webService.module.ts
import { NgModule } from "@angular/core";
import {WebService} from "./webService.service";
import {WebServiceComponent} from "./webService.component";
import {webServiceRouting} from "./webService.routing";
@NgModule({
imports: [
webServiceRouting
],
declarations: [
WebServiceComponent
],
providers: [
WebService
]
})
export class WebServiceModule { }
Я пытался запустить "http://localhost:3000/webService/getTest/1/2"
Большое спасибо за вашу помощь!