package main
import "fmt"
//import repository
type RepositoryInterface[T SubrepoInterface] interface {
GetSubrepo() T
}
type SubrepoInterface interface {
HelloSubrepo()
}
func main() {
r := &Repository{subrepo: &Subrepo{}}
useRepository[*Subrepo](r)
}
func useRepository[T SubrepoInterface](r RepositoryInterface[T]) {
sr := r.GetSubrepo()
sr.HelloSubrepo()
}
// ******************** Repository package ****************
type Repository struct {
subrepo *Subrepo
}
func (r *Repository) GetSubrepo() *Subrepo {
return r.subrepo
}
type Subrepo struct {
}
func (sr *Subrepo) HelloSubrepo() {
fmt.Printf("hello subrepo\n")
}
/**
* Hash a string
*
* @param string $data
* @return string
*/
public function hash($data)
{
return md5($data);
}
/**
* Validate hash against hashing method (with or without salt)
*
* @param string $password
* @param string $hash
* @return bool
* @throws Exception
*/
public function validateHash($password, $hash)
{
$hashArr = explode(':', $hash);
switch (count($hashArr)) {
case 1:
return hash_equals($this->hash($password), $hash);
case 2:
return hash_equals($this->hash($hashArr[1] . $password), $hashArr[0]);
}
Mage::throwException('Invalid hash.');
}
...
->addAttributeToFilter('url_key', array('in'=>array('men','women')))
...
$array = <исходный массив>;
foreach($array as $key => $val)
{
$array[$val['year']] = $val;
unset($array[$key]);
}
$array = <исходный массив>;
foreach($array as $key => $val)
{
$array[$val['year']][] = $val;
unset($array[$key]);
}
$array = <исходный массив>;
$result = array();
foreach($array as $key => $val)
{
$result[$val['year']][] = $val;
}
$file = 'somefile.php';
$remote_file = 'somefile.php';
// установка соединения
$conn_id = ftp_connect($ftp_server);
// проверка имени пользователя и пароля
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// загрузка файла
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
echo "$file успешно загружен на сервер\n";
} else {
echo "Не удалось загрузить $file на сервер\n";
}
// закрытие соединения
ftp_close($conn_id);
// вызываем файл GET запросом
...
ini_set('memory_limit', '1000M');