PHP性状的使用
Posted yangcclug
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP性状的使用相关的知识,希望对你有一定的参考价值。
<?php trait Geocodable{ /** @var string */ protected $address; /** @var \Geocoder\Geocoder */ protected $geocoder; /** @var \Geocoder\Result\Geocoded */ protected $geocoderResult; public function setGeocoder(\GeoCoder\GeocoderInterface $gocoder) { $this->geocoder = $gocoder; } public function setAddress($address) { $this->address = $address; } public function getLatitude() { if (isset($this->geocoderResult) == false){ $this->geocodeAddress(); } return $this->geocoderResult->getLatitude(); } public function getLongitude() { if (isset($this->geocoderResult) === false){ $this->geocodeAddress(); } return $this->geocoderResult->getLongitude(); } protected function geocodeAddress() { $this->geocoderResult = $this->geocoder->geocode($this->address); return true; } } //使用性状 class RetailStore { use Geocodable; //这里是类的实现 } $geocoderAdapter = new \Geocoder\HttpAdapter\CurlHttpAdapter(); $geocoderProvider = new \Geocoder\Provider\GoogleMapsProvider($geocoderAdapter); $geocoder = new \Geocoder\Geocoder($geocoderProvider); $store = new RetailStore(); $store->setAddress(‘420 9th Avenue, New York, NY 10001 USA‘); $store->setGeocoder($gocoder); $latitude = $store->getLatitude(); $longitude = $store->getLongitude(); echo $latitude, ‘:‘, $longitude;
以上是关于PHP性状的使用的主要内容,如果未能解决你的问题,请参考以下文章
使用 NodeJS 和 JSDOM/jQuery 从代码片段构建 PHP 页面