別のコントローラーのメソッドを呼び出す必要がある場合は、CI 自体が HMVC をサポートしていないため、 モジュラー拡張を使用する必要があります。
しかし、あなたの場合、そのようなロジックをコントローラーに配置するのは悪い設計慣行です.CIライブラリGoogle
(ユーティリティクラスであるため推奨)またはモデル(クラスがデータベースの相互作用を抽象化する場合)を利用する必要があります。
クラスをコントローラーに配置するだけapplication/libraries/Google.php
ですPerson
。
// 1. Load library via CI's loader:
// You may want to autoload the library
// @see application/config/autoload.php
$this->load->library('google');
// 2. Use library:
// NOTE: If it's a static class you need to call it as:
// Google::distance($postcode1, $postcode2);
$distance = $this->google->distance($postcode1, $postcode2);